eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.wwwTypeScript - jak uzyskać zmienne prywatne? Gdzie korzyści z TS? › Re: TypeScript - jak uzyskać zmienne prywatne? Gdzie korzyści z TS?
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
    From: Marek S <p...@s...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> <1...@t...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
    Content-Type: text/plain; charset=utf-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.icm.edu.pl 1567774640 29339 89.77.183.104 (6 Sep 2019 12:57:20 GMT)
    X-Complaints-To: u...@n...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-Language: pl
    Xref: news-archive.icm.edu.pl pl.comp.www:403641
    [ ukryj nagłówki ]

    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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: