Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
functionsayMyName(fullName){
console.log(`Zachowujeszsiędziwnie,niemówiącdomnie${fullName}`);
}
sayMyName("Beyoncé","Knowles");
//
~~~
~~~
~~~
//Expected1argument,butgot2.(Oczekiwano1argumentu,aleotrzymano2)
WjęzykuJavaScripttenkodsięwykonaniewywołującawarii,alejegowynikbędzieinny
odoczekiwanego(niebędziezawierałciągu
"Knowles"
):
Zachowujeszsiędziwnie,niemówiącdomnieBeyoncé
Wywoływaniefunkcjizbłędnąliczbąargumentówjestdokładnietegotypukrótkowzrocz-
nymułatwieniemwkorzystaniuzjęzykaJavaScript,któreTypeScriptblokuje.
Dokładnadokumentacja
Przyjrzyjmysięwersjipoznanejwcześniejfunkcji
paintPainting
,tymrazemnapisanej
wjęzykuTypeScript.ChociażnieomówionojeszczeskładniTypeScriptsłużącejdodoku-
mentowaniatypów,wartoprzeanalizowaćponiższyfragment,pokazujący,jakprecyzyjnie
możnadokumentowaćkodzapomocąjęzykaTypeScript:
interfacePainter{
finish():boolean;
ownMaterials:Material[];
paint(painting:string,materials:Material[]):boolean;
}
functionpaintPainting(painter:Painter,painting:string):boolean{/*...*/}
ProgramistajęzykaTypeScriptczytającytenkodporazpierwszybędziewiedział,że
pain-
ter
maconajmniejtrzywłaściwości,adwieznichmetodami.Dziękiskładniopisującej
nkształty”obiektówTypeScriptoferujedoskonały,wymuszanysystemopisuobiektów.
Lepszenarzędziadeweloperskie
DziękinarzędziutypingsjęzykaTypeScriptedytory,takiejakVSCode,mogąuzyskać
znacznielepszywglądwkod.Dziękitemumogązaoferowaćprogramistominteligentne
sugestiepodczaspisaniakodu,któremogąsięokazaćniesłychanieprzydatnepodczas
pracy.
JeśliktośpisałjużkodJavaScriptwprogramieVSCode,zapewnezauważył,żedo-
stępnajestfunkcjanautouzupełniania”koduwbudowanymitypamiobiektów,np.cią-
gamitekstowymi.Np.ponapisaniunazwywłaściwości,którajestciągiemtekstowym,
TypeScriptmożewyświetlićlistęsugestiiznazwamiwszystkichczłonkówtypuciągów
tekstowych(rysunek1-2).
8
|
Rozdział1:OdjęzykaJavaScriptdoTypeScript