Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
TypeScriptróżnisiętym,żezamiastdokonywaćkompilacjibezpośredniodokodubaj-
towego,przeprowadzakompilacjędo...koduJavaScriptu!NastępnietenkodJavaScriptu
można,jakzwykle,wykonaćwprzeglądarce,przyużyciuNodeJSlubwłasnoręcznie
zapomocąkartkiidługopisu(jeśliczytasztopowybuchubuntumaszyn).
Byćmożezastanawiaszsię:nMoment!Wpoprzednimrozdzialenapisano,żeTypeScript
zwiększabezpieczeństwokodu!Kiedytozachodzi?”
.
Dobrepytanie.Faktyczniepominęliśmyzasadniczykrok:potym,jakkompilator
TypeScriptugenerujeASTprogramu,alezanimemitujekod,wykonujenakodzie
sprawdzanietypów.
Programdosprawdzaniatypów
Specjalnyprogram,którysprawdzabezpieczeństwotypówwkodzie.
WtymsprawdzaniutypówkryjesięmagiajęzykaTypeScript.WtensposóbTypeScript
upewniasię,żeprogramdziałazgodniezoczekiwaniami,niezawieraoczywistych
błędówinapewnotwójszczęśliwyloswprimaaprilisowejloteriiczekanaciebie.
GdyuwzględnimysprawdzanietypówigenerowaniekoduJavaScriptu,proceskompi-
lowaniakoduTypeScriptuwyglądamniejwięcejtak,jaknarysunku2.1:
1.KodźródłowyTypeScript->ASTTypeScript
TS
2.DrzewoASTpoddawanesprawdzaniutypów
3.ASTTypeScript->kodJavaScript
4.KodźródłowyJavaScript->ASTJavaScript
JS
5.AST->kodbajtowy
6.Ewaluacjakodubajtowegoprzezśrodowisko
uruchomieniowe
Rysunek2.1.KompilowanieiwykonywaniekoduTypeScriptu
Kroki1-3wykonywaneprzezTSC,natomiastkroki4-6przezśrodowiskourucho-
mienioweJavaScriptu,któredziaławprzeglądarce,NodeJSlubinnymwykorzystywa-
nymsilnikuJavaScriptu.
KompilatoryiśrodowiskauruchomienioweJavaScriptuczęsto
umieszczanewjednymprogramienazywanymsilnikiem.Zazwy-
czajtowłaśnieznimpodejmująinterakcjęprogramiści.Wten
sposóbdziałaV8(silnikNodeJS,ChromeiOpera),SpiderMon-
key(Firefox),JSCore(Safari)orazChakra(Edge).Dziękitakiemu
rozwiązaniuJavaScriptsprawiawrażenie,jakbybyłjęzykiem
interpretowanym.
6
|Rozdział2:TypeScript:obrazogólny