Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
JesttokodnapisanyzapomocązwykłejskładniJavaScript-jeszczeniekorzystamze
składnijęzykaTypeScript.Poprzeanalizowaniutegokodunarzędziedosprawdzaniaty-
pówjęzykaTypeScriptustali,żewłaściwość
length
ciągutekstowegojestliczbą-anie
funkcją-iwyświetlikomunikatpokazanywkomentarzu1.
PowklejeniutegokoduwedytorzelubwśrodowiskuPlayground,usługajęzykowa
podkreślisłowo
length
czerwonąfalistąlinią,informując,żeniejesttopoprawnykod
TypeScript.Poprzesunięciumysząnadpodkreślonymkodempojawisiękomunikatbłędu
(rysunek1-1).
Rysunek1-1TypeScriptinformuje,żewłaściwośćlengthciągutekstowegoniejest
wywoływalna
Możliwośćuzyskaniainformacjiodrobnychbłędachpodczaspisaniakoduwedytorzejest
znaczniewygodniejsza,niżczekanie,wykonanieokreślonegowierszakoduspowoduje
błąd.PróbauruchomieniategokoduJavaScriptdoprowadzidoawarii!
Wolnośćpoprzezograniczenie
ZapomocąTypeScriptumożnaokreślićtypywartości,jakiemożnaprzypisaćdoparame-
trówizmiennych.Niektórzyprogramiściuważająpoczątkowo,żekoniecznośćjawnego
określaniawkodziesposobudziałaniapewnychelementówjestograniczeniem.
Ale!Wedługmnie,tegotypunograniczenie”jestwrzeczywistościpożądane!Nakładając
naswójkodograniczeniadotyczącesposobujegoużyciazapomocąjęzykaTypeScript,
mamypewność,żezmianywjednejczęścikoduniedoprowadządobłędówwkodzie,
któryzniejkorzysta.
Załóżmy,żeuległazmianieliczbaparametrówwymaganychprzezfunkcję.Wtym
przypadkuTypeScriptprzypomniokoniecznościaktualizacjijejwywołania.
Wponiższymprzykładzieliczbaparametrówwymaganychprzezfunkcję
sayMyName
zmieniasięzdwóchnajeden,alenadaljestonawywoływanazdwomaciągamiteksto-
wymi.WtejsytuacjiTypeScriptzgłosibłąd:
//Wcześniej:sayMyName(firstName,lastNameName){...
1Naużytekpolskiegoczytelnikakomunikatybłędówzostałyprzetłumaczoneprzypierwszymwystą-
pieniu,takjakwtymprzykładzie(wnawiasachikursywą).Trzebajednakmiećnauwadze,żeza-
równowśrodowiskuTypeScriptPlayground,jakiwśrodowiskachIDEkomunikatytebędądostępne
tylkowjęzykuangielskim(przyp.red.wydaniapolskiego).
KorzystaniezTypeScriptPlayground
|
7