Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.lang.php > #15716

Re: Nikomu niepotrzebne zmienne prywatne?

Newsgroups pl.comp.lang.php
From Wojciech Bancer <wojciech.bancer@gmail.com>
Subject Re: Nikomu niepotrzebne zmienne prywatne?
References <p4dakb$a6j$1@node2.news.atman.pl> <ll7vozvk24nr.sp52w7f4aisx.dlg@40tude.net> <p4klfl$4gq$1@node1.news.atman.pl> <slrnp6rq5p.14c5.wojciech.bancer@pl-test.org> <p4l8lo$n3s$1@node1.news.atman.pl>
Organization None
Date 2018-01-28 22:01 +0100
Message-ID <slrnp6segp.1bij.wojciech.bancer@pl-test.org> (permalink)

Show all headers | View raw


On 2018-01-28, Marek S <precz@spamowi.com> wrote:

[...]

>> Nie zachowuje się. To tylko tzw. syntax sugar.
>
> Ok, skąd czerpiesz tą wiedzę?

Z internetu i przemyśleń własnych :)
Np. z MDNa.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes

"JavaScript classes, introduced in ECMAScript 2015, are primarily syntactical-
sugar over JavaScript's existing prototype-based inheritance. The class syntax-
does not introduce a new object-oriented inheritance model to JavaScript."

Czy:
https://stackoverflow.com/questions/36419713/are-es6-classes-just-syntactic-sugar-for-the-prototypal-pattern-in-javascript/36419728
oraz z faktu, że nie mamy pojęcia klasy per se, tylko wszystko jest nadal 
oparte o prototypy.

[...]

> "...ECMAScript 5 wiele bibliotek dostarczało
> narzędzia, dzięki którym mogło się wydawać, że JavaScript obsługuje 
> klasy."

Wydawać? Obsługuje, po prostu w inny sposób (prototype inheritance
vs class inheritance), np:

https://medium.com/javascript-scene/master-the-javascript-interview-what-s-the-difference-between-class-prototypal-inheritance-e4cd0a7562e9

> Wprawdzie pewna część programistów była mocno przekonana, że 
> język nie potrzebuje klas, ale ilość utworzonych bibliotek 
> przeznaczonych do obsługi klas spowodowała dołączenie klas w 
> specyfikacji ECMAScript 6."

Czyli dodali syntax sugar.

> Skąd zatem takie wypowiedzi? Autor książki nie ma bladego pojęcia o 
> świecie więc sobie coś palnął ot tak?

Czemu mnie pytasz?

>> Rectangle.prototype.constructor = Rectangle;
>
> Ponoć właśnie nie do końca. Funkcjonalnie w ES5 owszem. Ale w ES6 i w 
> klasach nie da się tego przeprowadzić bo prototype klas jest read only.
> Ponoć w tym kierunku będzie rozwój JS prowadzony.

Czego się nie da przeprowadzić? Wykonać kodu powyżej np. na node 8?
Da się. Nie da się wywołać konstruktora "klasy" jak zauwazyłeś, ale
to nadal jest jedynie syntax sugar.

-- 
Wojciech Bańcer
wojciech.bancer@gmail.com

Back to pl.comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Nikomu niepotrzebne zmienne prywatne? Marek S <precz@spamowi.com> - 2018-01-25 20:19 +0100
  Re: Nikomu niepotrzebne zmienne prywatne? Roman Tyczka <noemail@because.no> - 2018-01-25 21:29 +0100
    Re: Nikomu niepotrzebne zmienne prywatne? Marek S <precz@spamowi.com> - 2018-01-26 00:07 +0100
      Re: Nikomu niepotrzebne zmienne prywatne? Roman Tyczka <noemail@because.no> - 2018-01-26 23:22 +0100
        Re: Nikomu niepotrzebne zmienne prywatne? Marek S <precz@spamowi.com> - 2018-01-27 13:24 +0100
  Re: Nikomu niepotrzebne zmienne prywatne? Borys Pogoreło <borys@pl.edu.leszno> - 2018-01-27 22:59 +0100
    Re: Nikomu niepotrzebne zmienne prywatne? Marek S <precz@spamowi.com> - 2018-01-28 15:07 +0100
      Re: Nikomu niepotrzebne zmienne prywatne? Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-01-28 16:14 +0100
        Re: Nikomu niepotrzebne zmienne prywatne? Marek S <precz@spamowi.com> - 2018-01-28 20:35 +0100
          Re: Nikomu niepotrzebne zmienne prywatne? Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-01-28 22:01 +0100
            Re: Nikomu niepotrzebne zmienne prywatne? Marek S <precz@spamowi.com> - 2018-01-29 19:01 +0100
              Re: Nikomu niepotrzebne zmienne prywatne? Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-01-29 20:12 +0100
              Re: Nikomu niepotrzebne zmienne prywatne? Borys Pogoreło <borys@pl.edu.leszno> - 2018-01-30 20:36 +0100
                Re: Nikomu niepotrzebne zmienne prywatne? Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-02-01 22:15 +0100

csiph-web