Article View: pl.comp.www
Article #408823Re: TypeScript - jak uzyskać zmienne prywatne? Gdzie korzyści z TS?
From: Marek S
Date: Fri, 06 Sep 2019 12:57
Date: Fri, 06 Sep 2019 12:57
28 lines
2342 bytes
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-mailReferences:
<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