🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.www
Article #408823

Re: TypeScript - jak uzyskać zmienne prywatne? Gdzie korzyści z TS?

#408823
From: Marek S
Date: Fri, 06 Sep 2019 12:57
28 lines
2342 bytes
W dniu 2019-09-06 o 13:55, Tomek pisze:

> Też pojęcia nie mam o TS ale w JS jeśli wewnątrz funkcji jest 
> wykorzystywane "this" to te "this" może znaczyć coś kompletnie innego w 
> zależności od kontekstu jak jest wywoływana ta funkcja.
> 

Ok, ale ja nie o tym. Po pierwsze ustalmy, że nie chodzi o funkcje ale o 
klasy (słowo kluczowe class). Słowo kluczowe this w każdej metodzie 
klasy znaczy dokładnie to samo i ma zasięg całej klasy.

A tematem rozmowy jest to, że w natywnym JS da się, choć nie pięknie, 
zdefiniować prywatne metody i właściwości. Natomiast w TS, prywatne 
zmienne są wpół prywatne. Transkompilator, podczas zamiany TS w JS, nie 
radzi sobie z przekształceniem prywatnych elementów do postaci JS, w 
taki sposób, by prywatność zachować. Zamiast tego wyświetla error 
mówiący o tym, że zmienna prywatna w klasie potomnej pokrywa się ze 
zmienną prywatną w klasie bazowej - co spowoduje konflikt. I faktycznie 
wynikowy kod JS nie będzie działał w takim przypadku.

Konkluzja jest taka, że TS jest przydatny, ale wobec takiej niedoróby, 
póki co trzymam się natywnego JS. Jakoś mi się to wydaje 
nieprawdopodobne aby twórcy TS to przeoczyli. Dlatego podpytuję tutaj o 
to czy jest jakieś obejście problemu.

-- 
Pozdrawiam,
Marek
Technical Details
Message-ID: <qktl3g$skr$1@news.icm.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
References: <qkp5ov$imf$1@news.icm.edu.pl> <10aaekrsuhadf.dlg@tyczka.com> <qkrhgq$2sb$1@news.icm.edu.pl> <5d724955$0$524$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
From: Marek S <precz@spamowi.com>
Newsgroups: pl.comp.www
Subject: Re: TypeScript - jak uzyskać zmienne prywatne?
 Gdzie korzyści z TS?
Date: Fri, 6 Sep 2019 14:57:17 +0200
Organization: ICM, Uniwersytet Warszawski
Lines: 28
Message-ID: <qktl3g$skr$1@news.icm.edu.pl>
References: <qkp5ov$imf$1@news.icm.edu.pl> <10aaekrsuhadf.dlg@tyczka.com> <qkrhgq$2sb$1@news.icm.edu.pl> <5d724955$0$524$65785112@news.neostrada.pl>
NNTP-Posting-Host: 89-77-183-104.dynamic.chello.pl
Mime-Version: 1.0
X-Trace: news.icm.edu.pl 1567774640 29339 89.77.183.104 (6 Sep 2019 12:57:20 GMT)
X-Complaints-To: usenet@news.icm.edu.pl
NNTP-Posting-Date: Fri, 6 Sep 2019 12:57:20 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.0
In-Reply-To: <5d724955$0$524$65785112@news.neostrada.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit