Kompililo TypeScript
La TypeScript-kompililo estas JavaScript-programo kiu konvertas TypeScript-kodon en simplan JavaScript-kodon. Ĝi estas skribita en TypeScript kaj povas ruliĝi sur ajna platformo kiu subtenas JavaScript.La TypeScript-kompililo estas malfermfonta kaj havebla sur GitHub. La kompililo estas evoluigita kaj prizorgata de Mikrosofto kaj povas esti uzata de la komandlinio, aŭ ĝi povas esti uzata kiel aldonaĵo por popularaj IDEoj kiel Visual Studio kaj WebStorm.
La TypeScript-kompililo povas elsendi JavaScript-kodon kongruan kun malsamaj JavaScript rultempoj, kiel ekzemple Node.js, Internet Explorer kaj Chrome. Ĝi ankaŭ povas generi fontmapojn, kiuj mapas la generitan JavaScript-kodon reen al la TypeScript-kodo. Ĉi tio permesas sencimigi la TypeScript-kodon en la retumilo.
La kompililo povas esti agordita por kontroli tajperarojn, kaj raportos erarojn se iuj estas trovitaj. Tipkontrolo povas esti malŝaltita se vi deziras. La TypeScript-kompililo estas havebla sub la Apache 2.0 malfermkoda permesilo.
Ne forte tajpita lingvo
Tajpaj skribo ne estas forte tajpita lingvo ĉar ĝi ne postulas variablojn esti deklaritaj kun specifa tipo. Ĉi tio signifas, ke variablo povas esti deklarita kiel unu tipo kaj poste reasignita al valoro de alia tipo. Ĉi tio povas konduki al eraroj se la variablo estas uzata en maniero ne kongrua kun la tipo, kiel ĝi estis deklarita.
Baza ekzemplo por ilustri ĉi tiun karakterizaĵon povas esti montrita per la tipo "iu".
// We initialze the variable as a string.
const something: any = "Tom";
// Now it's a number. This is valid TypeScript code.
something = 42;
Kompilante TypeScript al JavaScript
La TypeScript-kompililo prenas TypeScript-kodon kaj konvertas ĝin en simplan JavaScript-kodon. Ĉi tiu procezo estas konata kiel transpilado. La kompililo unue analizas la TypeScript-kodon, kiu kontrolas por sintaksaj eraroj. Se neniuj eraroj estas trovitaj, la kompililo tiam kontrolas por tipo-eraroj. Se iuj tipo-eraroj estas trovitaj, la kompililo raportos ilin kaj eliros.
Se ne troviĝas tajperaroj, la kompililo daŭrigos kaj elsendos la JavaScript-kodon. La elsendita JavaScript-kodo estos kongrua kun la cela JavaScript rultempo kiu estas specifita.
La TypeScript-kompililo ankaŭ povas generi fontmapojn, kiuj mapas la generitan JavaScript-kodon reen al la TypeScript-kodo. Ĉi tio permesas sencimigi la TypeScript-kodon en la retumilo.
Servilo de lingvo TypeScript
La lingva servilo TypeScript estas lingva servilo kiu disponigas funkciojn kiel ekzemple kodkompletigo, iri-al-difino, kaj tajpkontrolado por TypeScript-projektoj.
La lingvoservilo estas postulata por ke la TypeScript-kompililo povu disponigi ĉi tiujn funkciojn. Sen la lingvoservilo, la TypeScript-kompililo nur povus disponigi bazajn funkciojn kiel ekzemple sintaksa reliefigo kaj kodformatado. La lingva servilo TypeScript estas malfermfonta kaj disponebla ĉe GitHub.
Paŝoj por krei TypeScript-projekton
Antaŭ priskribi la paŝojn, jen la komando por pravalorigi projekton de TypeScript en via terminalo.
npx tsc --init
Priskribo: Instalu la kompililon TypeScript. Kreu dosieron tsconfig.json en la radiko de la projekto. Ĉi tiu dosiero enhavas la opciojn de kompililo por la kompililo TypeScript. Aldonu la src-dosierujon al la dosiero tsconfig.json. Ĉi tie troviĝas la fontdosieroj de TypeScript.
Aldonu main.ts dosieron en la src-dosierujo. Ĉi tio estas la enirpunkto por la programo TypeScript. Kompilu la kodon TypeScript rulante tsc de la komandlinio. Ĉi tio generos la JavaScript-dosierojn en la src-dosierujo. Rulu la TypeScript-programon rulante nodon main.js de la komandlinio.
Diferencoj inter TypeScript kaj JavaScript
Estas kelkaj ŝlosilaj diferencoj inter TypeScript kaj aliaj forte tajpitaj lingvoj: TypeScript estas superaro de JavaScript, kio signifas, ke ĉiu valida JavaScript-kodo ankaŭ estas valida TypeScript-kodo. Ĉi tio faciligas adopti por ekzistantaj JavaScript-projektoj.
TypeScript uzas laŭvolan tipsistemon, kio signifas, ke tipoj povas esti specifitaj por variabloj, sed ĝi ne estas postulata. Aliaj forte tajpitaj lingvoj, kiel Swift kaj Kotlin, uzas devigan tipsistemon, kiu postulas ke ĉiuj variabloj estu deklaritaj kun specifa tipo.
TypeScript subtenas generilojn, kiuj permesas tip-sekurajn kolektojn kaj aliajn datumstrukturojn. Ĉi tio ne haveblas en JavaScript.
Kiam mi uzu Javaskripton anstataŭ Typescript por kodigo?
Ne ekzistas malfacila regulo por kiam uzi JavaScript aŭ TypeScript. Dependas de la programisto elekti la ĝustan ilon por la laboro. Tamen, estas kelkaj ĝeneralaj gvidlinioj kiuj povas esti sekvitaj.
Se projekto jam estas skribita en JavaScript, plej bone estas daŭre uzi JavaScript. Ne necesas konverti la kodon al TypeScript nur por uzi TypeScript. Sed memoru, ke prizorgado de JavaScript-projekto povas esti pli malfacila pro la manko de tipsistemo kondukanta al kaŝitaj cimoj. Tial estas plej bone konsideri adopti TypeScript se la projekto estos prizorgita (kaj etendita) estonte.
Se projekto komenciĝas de nulo, plej bone estas uzi TypeScript. Ĉi tio permesos pli bonan kodan organizon kaj prizorgadon longtempe.
Simplaj ekzemploj
// TypeScript.
class Person {
name: string;
age: number;
}
const person: Person = new Person();
const person.name = "Tom";
const person.age = 42;
// JavaScript.
var Person = function() {};
Person.prototype.name = "";
Person.prototype.age = 0;
// TypeScript.
// Here's we're also using the class, but this
// time conforming to an interface, something that
// doesn't exist in JavaScript.
interface IPerson {
name: string;
age: number;
}
class Person implements IPerson {
name: string;
age: number;
}
// JavaScript.
var IPerson = function() {};
IPerson.prototype.name = "";
IPerson.prototype.age = 0;
var Person = function() {};
Person.prototype = Object.create(IPerson);
Fermaj vortoj
TypeScript estas potenca lingvo, kiu povas helpi plibonigi la kvaliton de via kodo. Ĝi estas facila por komenci, kaj povas esti uzata sur ajna platformo kiu subtenas JavaScript. Ĉi tiu artikolo nur donis tre mallongan enkondukon, ĉar la lingvo disponigas multe pli da funkcioj kaj konceptoj por lerni nun.
Kontrolu la ligilojn en la aldono ĉe la fino de la paĝo por iuj utilaj lernomaterialoj.