Article View: pl.comp.lang.php
Article #231932Re: Nikomu niepotrzebne zmienne prywatne?
From: Wojciech Bancer
Date: Sun, 28 Jan 2018 21:01
Date: Sun, 28 Jan 2018 21:01
57 lines
3248 bytes
3248 bytes
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
Technical Details
Message-ID:
<slrnp6segp.1bij.wojciech.bancer@pl-test.org>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer02.am4!peer.am4.highwinds-media.com!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<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>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer02.am4!peer.am4.highwinds-media.com!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail 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: Sun, 28 Jan 2018 22:01:12 +0100 User-Agent: slrn/1.0.3 (Darwin) Mime-Version: 1.0 Message-ID: <slrnp6segp.1bij.wojciech.bancer@pl-test.org> Lines: 57 NNTP-Posting-Host: 37.47.128.20 X-Trace: 1517173273 unt-rea-a-01.news.neostrada.pl 673 37.47.128.20:21480 X-Complaints-To: abuse@news.neostrada.pl X-Received-Body-CRC: 2172423661 X-Received-Bytes: 3076 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit