-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
From: Marek <p...@s...com>
Newsgroups: pl.comp.www
Subject: Re: Javascript - jak tworzyć obiekty w strict mode?
Date: Mon, 28 Sep 2015 15:37:07 +0200
Organization: ICM, Uniwersytet Warszawski
Lines: 32
Message-ID: <mubfqc$o40$1@news.icm.edu.pl>
References: <mtlvuv$3t4$1@news.icm.edu.pl>
<1fatjmn7yhrh6$.12pek7r1crfbe$.dlg@40tude.net>
<mtmo0d$75a$1@news.icm.edu.pl>
<1...@4...net>
<mtojfs$lci$1@news.icm.edu.pl>
<swhpswvjkkrk.1kg2bqubgir7v$.dlg@40tude.net>
NNTP-Posting-Host: 89-69-222-145.dynamic.chello.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.icm.edu.pl 1443447436 24704 89.69.222.145 (28 Sep 2015 13:37:16 GMT)
X-Complaints-To: u...@n...icm.edu.pl
NNTP-Posting-Date: Mon, 28 Sep 2015 13:37:16 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101
Thunderbird/31.6.0
In-Reply-To: <swhpswvjkkrk.1kg2bqubgir7v$.dlg@40tude.net>
Xref: news-archive.icm.edu.pl pl.comp.www:403034
[ ukryj nagłówki ]W dniu 2015-09-27 o 18:46, Borys Pogoreło pisze:
> Teraz zgaduję - zapewne w prototypie ustawiana jest referencja na zmienną
> data, przez co jej wartość jest nadpisana w drugim wywołaniu testClass()
> (tu by się jednak przydała opinia kogoś, kto na JS zjadł sobie zęby).
> Zamiast takich kombinacji możesz zrobić getter getData() w obiekcie
> testClass lub po prostu zapisuj od razu do własności obiektu, czyli
> this.data = _data. Gdybyś wyrzucił definiowanie prototypu poza funkcję, to
> w ogóle by nie doszło do takiej sytuacji.
No i tu mam kilka zastrzeżeń.
1. Jeśli definiowanie prototypu wyrzucę poza funkcję to tracę dostęp do
zmiennych prywatnych. Przestają one istnieć.
2. Jeśli użyję this.zmienna, to staje się ona publiczną, a tego nie
chcę. Aż prosi się o katastrofę podczas dziedziczenia "klas" gdy klasa
potomna będzie używała tak samo nazwanej zmiennej.
3. Gettery / settery wykonały krok wstecz w kolejnych odsłonach JS.
Kiedyś istniała piękna właściwość __defineGetter__ / __defineSetter__
gdzie można było nazwać getter X, który ustawiał zmienną X. Obecnie
defineProperty musi nazywać się inaczej niż zmienna jaką ustawiamy. Robi
się to bardzo kłopotliwe w używaniu gdy każda zmienna inaczej musi
nazywać się lokalnie i na zewnątrz.
No i jestem w kropce... Czy nie da się tego naprawdę jakoś rozwiązać?
--
Pozdrawiam,
Marek
Następne wpisy z tego wątku
- 28.09.15 15:46 Marek
- 28.09.15 18:22 Borys Pogoreło
- 28.09.15 20:42 Cezary Tomczyk
- 28.09.15 22:00 Borys Pogoreło
- 29.09.15 10:17 n...@t...net.pl
- 01.10.15 19:27 Marek
- 02.10.15 09:31 n...@t...net.pl
- 02.10.15 12:02 Marek
- 03.10.15 08:33 n...@t...net.pl
- 03.10.15 11:18 Cezary Tomczyk
- 03.10.15 12:17 Marek
- 03.10.15 12:20 Marek
- 05.10.15 09:33 n...@t...net.pl
- 06.10.15 17:39 Marek
- 08.10.15 11:03 n...@t...net.pl
Najnowsze wątki z tej grupy
- UWAGA: MAM PODEJRZENIE, ŻE trojmiasto.pl DOKONUJE ATAKÓW
- Cenzura na wolnemedia.net - likwidacja codziennej sekcji "Sygnały zauważone"
- Nowe style na energokod.pl
- Jak działa hosting w którym wykupuje się sam serwer i domenę, bez IP?
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Do sądu trafił pozew zbiorowy przeciw Google'owi - oskarżenie o praktyki monopolistyczne na rynku reklamy internetowej
- Jakie znacie działające serwery grup dyskusyjnych?
- is it live this group at news.icm.edu.pl
- php, linki z nazwami a $_GET, SEO
- www polityka pl captcha
- dyktatura brudnego palucha
- www.znanylekarz.pl
- Czy pytanie o sczytywanie stron programami/skryptami to tu?
- Grupy webdevowe
- Jak wydrukować stronę?
Najnowsze wątki
- 2025-09-09 Lublin => Delphi Programmer <=
- 2025-09-09 Lublin => Programista Delphi <=
- 2025-09-09 Warszawa => Specialist in Administration <=
- 2025-09-09 Warszawa => Programista Microsoft Dynamics 365 Finance & Operations (D
- 2025-09-09 Warszawa => Specjalista/tka ds. Administracji <=
- 2025-09-08 Długi kabel zasilający a na końcu procek
- 2025-09-08 Dużo niższe temperatury procesora po obudzeniu komputera... tak ma być czy jest coś nie tak?
- 2025-09-08 Warszawa => Senior Fullstack Developer <=
- 2025-09-08 Warszawa => Head of Technology <=
- 2025-09-08 Pozbawianie obywatelstwa: Rosja olewa konstytucyjny zakaz "jak RP3"?
- 2025-09-08 Wrocław => Android Developer (Java) <=
- 2025-09-08 Warszawa => Programista C <=
- 2025-09-08 Warszawa => Software .Net Developer <=
- 2025-09-08 Polacy zbiednieli
- 2025-09-08 UK: Transparent "Sprzeciwiam się ludobójstwu. Popieram Palestine Action" => 890 "terrorystów" zatrzymanych