Kas ir TypeScript? Sākotnējais ceļvedis par JavaScript paplašinājumu
TypeScript piedāvā vairākas galvenās funkcijas, kas būtiski uzlabo tīmekļa lietojumprogrammu izstrādi. Šis TypeScript apmācības materiāls sniedz ievadu programmēšanas valodā un izskaidro dažas no tās svarīgākajām funkcijām un lietojumiem, kā arī tās priekšrocības un trūkumus.
Kas ir TypeScript?
TypeScript ir izstrādājis Microsoft, un tas balstās uz programmēšanas valodu JavaScript, kas plaši tiek izmantota tīmekļa izstrādē. Viena no TypeScript izcilākajām īpašībām ir statiskā tipizācija. Atšķirībā no JavaScript, kam ir dinamiskā tipizācija, TypeScript ļauj deklarēt datu tipus mainīgajiem, funkcijām un parametriem. Tas ļauj savlaicīgi atklāt kodēšanas kļūdas, padarot iespējamu kļūdu identificēšanu pat pirms koda izpildes. Statiskā tipizācija ne tikai ievērojami uzlabo koda kvalitāti, bet arī uzlabo koda lasāmību.
TypeScript sintakse ir gandrīz identiska JavaScript sintaksei, kas ievērojami atvieglo tās integrēšanu esošajos JavaScript projektos. Faktiski TypeScript ir JavaScript paplašinājums, kas nozīmē, ka jebkurš pareizs JavaScript kods ir arī derīgs TypeScript kods. Tas ļauj pakāpeniski pāriet uz TypeScript un izmantot statiskās tipizācijas un citu funkciju priekšrocības, neizmainot esošo kodu.
Šeit ir vienkāršs JavaScript piemērs:
function greet(name) {
return "Hello, " + name;
}
console.log(greet(123)); // Output: "Hello, 123"javascriptIepriekšējā kodā funkcija greet nav ierobežota ar konkrētu datu tipu parametram name. Tas nozīmē, ka funkcija joprojām darbosies, pat ja kā argumentu nodosim skaitli.
TypeScript valodā kods var izskatīties šādi:
function greet(name: string): string {
return "Hello, " + name;
}
console.log(greet(123)); // Error in TypeScripttypescriptŠeit mēs esam deklarējuši parametru name kā virkni. Ja mēs mēģināsim izmantot funkciju ar skaitli, TypeScript parādīs kļūdu, jo nodotais datu tips neatbilst sagaidāmajam datu tipam.
Šis piemērs parāda, kā TypeScript palīdz savlaicīgi atklāt kļūdas, uzlabojot koda kvalitāti, novēršot nepareizu datu tipu izmantošanu. Ir svarīgi atzīmēt, ka TypeScript galu galā tiek kompilēts uz JavaScript, tādējādi to var izpildīt jebkurā JavaScript vidē. Tas nozīmē, ka tipa drošības priekšrocības var izmantot tikai izstrādes fāzē.
Kādam nolūkam tiek izmantots TypeScript?
TypeScript ir būtisks dažādās programmatūras izstrādes jomās, jo īpaši situācijās, kad tipa drošība un koda kvalitāte ir ļoti svarīga.
TypeScript izmantošana ir īpaši izplatīta tīmekļa izstrādē. Šajā gadījumā TypeScript nodrošina, ka JavaScript kods tiek rakstīts tā, lai tas būtu drošāks un vieglāk uzturams. Tas ir izdevīgi plašos frontend projektos ar sarežģītu kodebāzi. Tomēr TypeScript var tikt īstenots arī servera pusē (backend) Node.js lietojumprogrammās, lai nodrošinātu papildu drošības slāni. Serverless arhitektūrās, piemēram, AWS Lambda un Azure Functions, TypeScript palīdz samazināt kļūdas un nodrošina uzticamu izpildi.
Daudzplatformu attīstība ir vēl viena joma, kurā TypeScript parāda savas stiprās puses. Tas var ievērojami optimizēt daudzplatformu lietojumprogrammu un mobilo lietojumprogrammu attīstību. Tādi satvari kā NativeScript un React Native piedāvā atbalstu TypeScript, ja runa ir par mobilo lietojumprogrammu programmēšanu dažādām platformām. Spēļu attīstībā TypeScript tiek izmantots projektos, kuros tiek izmantots WebGL vai spēļu dzinēji, piemēram, Phaser vai Babylon.js. TypeScript tipa drošība palīdz uzlabot spēļu kvalitāti un uzturamību.
TypeScript tiek izmantots arī datu vizualizācijas un analīzes projektos. Bibliotēkas, piemēram, D3.js, nodrošina atbalstu TypeScript un ļauj izveidot sarežģītas vadības paneles un vizualizācijas.
Kā instalēt TypeScript
TypeScript instalēšana ir vienkārša un prasa tikai dažus soļus. Ja jūsu datorā ir Node.js, varat instalēt TypeScript ar npm (Node Package Manager).
1. solis: Lejupielādējiet Node.js
Pārbaudiet, vai jūsu datorā ir instalēts Node.js. Ja vēl neesat instalējis Node.js, to varat lejupielādēt un instalēt no oficiālās tīmekļa vietnes.
2. solis: instalējiet TypeScript terminālī
Atveriet komandu uzvedni (piemēram, Command Prompt Windows operētājsistēmā vai termināli macOS vai Linux operētājsistēmā) un ievadiet šādu komandu, lai instalētu TypeScript globāli:
npm install -g typescriptbash-g (globālais) karodziņš instalē TypeScript visā sistēmā, lai jūs varētu to izmantot no jebkuras vietas.
3. solis: Pārbaudiet instalēto versiju
Jūs varat pārbaudīt, vai instalācija ir veiksmīga, izpildot šādu komandu:
tsc -vbashŠī komanda parāda, kura TypeScript versija ir instalēta. Ja tiek parādīts versijas numurs, tas nozīmē, ka instalēšana ir veiksmīgi pabeigta.
Pēc instalēšanas varat ģenerēt JavaScript failus, izveidojot TypeScript failus (ar paplašinājumu .ts) un kompilējot tos ar TypeScript kompilatoru tsc.
4. solis: Izveidojiet TypeScript failu
Izveidojiet TypeScript failu, piemēram, app.ts, un ievietojiet tajā savu TypeScript kodu.
type Person = { name: string, age: number };
const alice: Person = { name: "Alice", age: 30 };
console.log(`Hello, I am ${alice.name} and I am ${alice.age} years old.`);typescript5. solis: Kompilējiet failu
Kompilējiet TypeScript failu, ievadot šādu komandu:
tsc app.tsbashTādējādi app.ts tiks kompilēts JavaScript failā ar nosaukumu app.js. Pēc tam varat izpildīt JavaScript failu.
Kādas funkcijas ir TypeScript?
Pēdējos gados tīmekļa izstrāde ir piedzīvojusi ievērojamu attīstību, un TypeScript ir kļuvis par ļoti efektīvu alternatīvu JavaScript. Turpinājumā esam apkopojuši šīs valodas svarīgākās funkcijas.
Statiskā tipizācija
Statiskā tipizācija ir būtiska TypeScript funkcija, kas ļauj norādīt datu tipus mainīgajiem, parametriem, funkcijām un citiem elementiem kodā. Atšķirībā no dinamiskās tipizācijas JavaScript, kur datu tipi tiek noteikti izpildes laikā, TypeScript datu tipi tiek piešķirti izstrādes laikā, pirms kods tiek izpildīts. Šī metode palīdz savlaicīgi identificēt kļūdas un loģiskas problēmas.
function add(a: number, b: number): number {
return a + b;
}
const result = add(5, 3); // valid
const result = add(5, "3"); // Type ErrortypescriptŠajā piemērā mēs izmantojām statisko tipizāciju add funkcijai. Abi parametri a un b ir deklarēti kā skaitļi (number), un funkcija atgriež vērtību tipa number. Jebkura mēģinājuma izmantot šo funkciju ar citu datu tipu rezultātā TypeScript to identificēs kā kļūdu.
Izvēles rakstīšana
Izmantojot fakultatīvo tipizāciju, jums ir iespēja noteikt datu tipus konkrētiem mainīgajiem un parametriem, bet citiem atstāt nenoteiktu datu tipu.
function sayHello(name: string, age: any): string {
if (age) {
return `Hello, ${name}, you are ${age} years old.`;
} else {
return `Hello, ${name}.`;
}
}typescriptsayHello funkcija ir definēta ar parametriem name un age. Apzīmējums any norāda, ka age parametrs var būt jebkura datu tipa.
ES6+ funkcijas
TypeScript atbalsta modernās JavaScript funkcijas, tostarp ES6 un jaunākas funkcijas, piemēram, bultu funkcijas un veidņu virknes.
const multiply = (a: number, b: number): number => a * b;
const greeting = (name: string) => `Hello, ${name}!`;typescriptBultu funkcijas nodrošina īsāku un konkrētāku sintaksi.
Koda organizācija
TypeScript nodrošina labāku koda organizāciju un garantē, ka kods tiek sadalīts atkārtoti izmantojamās daļās. To nodrošina moduļi un vārdu telpas.
// Math.ts
export function add(a: number, b: number): number {
return a + b;
}
// Main.ts
import { add } from './Math';
const result = add(5, 3);typescriptŠeit mēs parādām, kā strukturēt kodu ar moduļiem un izmantot import un export organizācijai. Funkcija add ir definēta atsevišķā modulī ar nosaukumu Math.ts, pēc tam importēta un integrēta citā modulī, Main.ts.
Objektorientētā programmēšana (OOP)
TypeScript atvieglo objektorientētu programmēšanu, izmantojot TypeScript klases, saskarnes un pārmantošanu:
class Person {
constructor(public name: string, public age: number) {}
greet() {
console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`);
}
}
const person = new Person("Alice", 30);
person.greet();typescriptŠis piemērs parāda klašu un objektorientētās programmēšanas (OOP) izmantošanu TypeScript. Klasei Person ir īpašības name, age un metode greet, kas tiek izmantota, lai iepazīstinātu ar personu un sniegtu informāciju par to.
Paplašināta tipa sistēma
TypeScript tipu sistēma ir elastīga un plaša. Jūs varat izveidot lietotāja definētus tipus un saskarnes, kā arī paplašināt esošos tipus.
interface Animal {
name: string;
}
interface Dog extends Animal {
breed: string;
}
const myDog: Dog = { name: "Buddy", breed: "Labrador" };typescriptSaskarnes Animal definē īpašību name, savukārt saskarnes Dog pārmanto no Animal un pievieno papildu īpašību breed. Objektam myDog ir abu saskarņu īpašības.
Saderība ar JavaScript
TypeScript ir saderīgs ar JavaScript, kas ļauj to izmantot jebkurā JavaScript vidē. Šī saderība atvieglo TypeScript pakāpenisku integrāciju esošajos JavaScript projektos.
// JavaScript-Code
function greet(name) {
return "Hello, " + name;
}
// TypeScript-Code
function greet(name: string): string {
return "Hello, " + name;
}typescriptIepriekš minēto JavaScript kodu (bez tipizācijas) var bez problēmām izmantot TypeScript kodā (ar tipizāciju).
Kādas ir TypeScript priekšrocības un trūkumi?
Lai gan TypeScript piedāvā virkni priekšrocību, tam ir arī daži trūkumi. Šeit ir to pārskats:
Priekšrocības
TypeScript piedāvā plašu tipu definīciju ekosistēmu daudzām JavaScript bibliotēkām un ietvariem. Tas padara trešo pušu koda integrēšanu TypeScript projektos vienkāršu un nepārprotamu. Tas ir noderīgi mūsdienu tīmekļa lietojumprogrammās, kas bieži vien balstās uz vairākām bibliotēkām un ietvariem.
Papildus statiskajai tipizācijai TypeScript piedāvā daudzveidīgas attīstības funkcijas, tostarp saskarnes, klases, moduļus un atbalstu pašreizējiem ECMAScript standartiem. Šīs funkcijas uzlabo koda strukturēšanu, atvieglo projektu uzturēšanu un mērogojamību, kā arī veicina attīstības produktivitāti. Daudzas integrētas attīstības vides (IDE), piemēram, Visual Studio Code, nodrošina lielisku atbalstu TypeScript.
Trūkumi
TypeScript ir nepieciešams laiks, lai pierastu, īpaši attīstītājiem, kuri pirms tā izmantošanas ir strādājuši tikai ar JavaScript. TypeScript kods ir jākompilē JavaScript, pirms to var izpildīt pārlūkprogrammās vai Node.js vidēs. Tas rada papildu soli attīstības procesā.
Mazākiem projektiem TypeScript var šķist pārāk sarežģīts, jo tipa drošības priekšrocības var nebūt tik acīmredzamas. TypeScript projektiem var būt nepieciešami lielāki resursi, jo ir nepieciešama papildu informācija par tipiem un kompilācijas soļi.
Kādas ir TypeScript alternatīvas?
Ir dažādas tīmekļa programmēšanas valodas, kas var būt laba alternatīva TypeScript, atkarībā no projekta specifiskajām prasībām un izstrādātāju preferencēm.
- Flow: Flow ir statiska tipa pārbaudītājs JavaScript, ko izstrādājis Facebook. Tas ļauj pievienot tipus JavaScript kodam, neizmantojot pilnīgu pāreju uz TypeScript. Flow ir laba izvēle, ja vēlaties pakāpeniski integrēt tipizāciju savos JavaScript projektos.
- Dart: tā ir Google izstrādāta programmēšanas valoda, ko var izmantot, lai izveidotu tīmekļa lietojumprogrammas un mobilās lietojumprogrammas. Tā nodrošina tipa drošību un labu veiktspēju. Dart bieži izmanto kopā ar Flutter framework mobilās lietojumprogrammas izstrādei.
- PureScript: PureScript ir stingri tipizēta funkcionālā programmēšanas valoda, kas ietver stingru tipu drošību un tīri funkcionālu programmēšanas stilu. Tā ļauj importēt JavaScript bibliotēkas.
- Elm: Elm ir funkcionāla, stingri tipizēta valoda, kas izstrādāta tīmekļa lietojumprogrammu izstrādei. Elm veicina Elm arhitektūras principu un nodrošina augstu tipa drošības līmeni.
- ReasonML (BuckleScript): šo valodu izstrādāja Facebook, un tā ir balstīta uz OCaml. BuckleScript ir kompilators, kas kompilē ReasonML uz JavaScript. Tas nodrošina arī tipa drošību un ir viegli integrējams ar React frontend izstrādei.
Citos mūsu digitālajā ceļvedī publicētajos rakstos mēs padziļināti izskatām citas tēmas, piemēram, TypeScript funkcijas un TypeScript masīvus.