Mis on TypeScript? Algaja juhend JavaScripti supersetile
TypeScriptil on mitmeid olulisi omadusi, mis parandavad oluliselt veebirakenduste arendamist. Käesolev TypeScripti õpetus annab ülevaate programmeerimiskeelest ning selgitab selle olulisemaid omadusi ja kasutusvõimalusi, samuti eeliseid ja puudusi.
Mis on TypeScript?
TypeScript on välja töötatud Microsofti poolt ja põhineb programmeerimiskeelel JavaScript, mida kasutatakse laialdaselt veebiarenduses. Üks TypeScripti silmapaistev omadus on staatiline tüüpimine. Erinevalt dünaamiliselt tüüpivast JavaScriptist võimaldab TypeScript deklareerida muutujate, funktsioonide ja parameetrite andmetüübid. See võimaldab varakult avastada kodeerimisvigu, mistõttu on võimalik tuvastada vead juba enne koodi täitmist. Staatiline tüüpimine parandab oluliselt mitte ainult koodi kvaliteeti, vaid ka koodi loetavust.
TypeScripti süntaks on peaaegu identne JavaScriptiga, mis muudab selle integreerimise olemasolevatesse JavaScripti projektidesse palju lihtsamaks. Tegelikult on TypeScript JavaScripti ülemhulk, mis tähendab, et iga korrektne JavaScripti kood on ka kehtiv TypeScripti kood. See võimaldab teil järk-järgult üle minna TypeScriptile ja saada kasu staatilise tüüpimise ja muude funktsioonide eelistest, ilma et peaksite olemasolevat koodibaasi täielikult ümber kirjutama.
Siin on lihtne JavaScripti näide:
function greet(name) {
return "Hello, " + name;
}
console.log(greet(123)); // Output: "Hello, 123"javascriptEespool toodud koodis ei ole funktsioon greet piiratud konkreetse andmetüübiga parameetri name jaoks. See tähendab, et funktsioon töötab ka siis, kui me edastame argumendina numbri.
TypeScriptis võib kood välja näha järgmine:
function greet(name: string): string {
return "Hello, " + name;
}
console.log(greet(123)); // Error in TypeScripttypescriptSiin oleme deklareerinud parameetri name stringina. Kui proovime funktsiooni kasutada numbriga, kuvab TypeScript vea, kuna edastatud andmetüüp ei vasta oodatavale andmetüübile.
See näide näitab, kuidas TypeScript aitab varakult vigu avastada, parandades koodi kvaliteeti ja vältides andmetüüpide väärkasutust. Oluline on märkida, et TypeScript kompileeritakse lõpuks JavaScriptiks, mis võimaldab seda käitada mis tahes JavaScripti keskkonnas. See tähendab aga, et tüübikindluse eeliseid saab kasutada ainult arendusfaasis.
Milleks kasutatakse TypeScripti?
TypeScript on oluline mitmesugustes tarkvaraarenduse valdkondades, eriti olukordades, kus tüübikindlus ja koodi kvaliteet on otsustava tähtsusega.
TypeScripti üks silmapaistev kasutusala on veebiarendus. Siin tagab TypeScript, et JavaScripti kood on kirjutatud viisil, mis muudab selle turvalisemaks ja hoolduseks lihtsamaks. See on kasulik ulatuslikes frontend-projektides, kus on keerulised koodibaasid. TypeScripti saab aga rakendada ka serveri poolel (backend) Node.js-rakendustes, et pakkuda täiendavat turvatasandit. Serverita arhitektuurides, nagu AWS Lambda ja Azure Functions, aitab TypeScript vähendada vigu ja tagada usaldusväärse täitmise.
Platvormiülene arendus on veel üks valdkond, kus TypeScript näitab oma tugevusi. See võib oluliselt optimeerida platvormiüleseid rakendusi ja mobiilirakenduste arendamist. Raamistikud nagu NativeScript ja React Native pakuvad TypeScripti tuge erinevate platvormide mobiilirakenduste programmeerimisel. Mängude arendamisel kasutatakse TypeScripti projektides, mis kasutavad WebGL-i või mängumootoreid nagu Phaser või Babylon.js. TypeScripti tüübikindlus aitab parandada mängude kvaliteeti ja hooldatavust.
TypeScripti kasutatakse ka andmete visualiseerimise ja analüüsi projektides. Raamatukogud nagu D3.js pakuvad TypeScripti jaoks tuge ning võimaldavad luua keerukaid juhtpaneele ja visualiseeringuid.
Kuidas installida TypeScript
TypeScripti installimine on lihtne ja võtab vaid paar sammu. Kui teie arvutis on Node.js, saate TypeScripti installida npm (Node Package Manager) abil.
1. samm: Lae alla Node.js
Kontrollige, kas teie arvutisse on installitud Node.js. Kui te pole Node.js veel installinud, saate selle alla laadida ja installida ametlikult veebisaidilt.
2. samm: Paigalda TypeScript terminali
Ava käsureaaken (nt käsureaaken Windowsis või terminal macOS-is või Linuxis) ja sisesta järgmine käsk, et installida TypeScript globaalselt:
npm install -g typescriptbash-g (globaalne) lipuke installib TypeScripti kogu süsteemi, nii et saate seda kasutada kõikjal.
3. samm: Kontrollige installitud versiooni
Saate kontrollida, kas installimine õnnestus, käivitades järgmise käsu:
tsc -vbashSee käsk näitab, milline TypeScripti versioon on installitud. Kui versiooni number kuvatakse, tähendab see, et installimine õnnestus.
Pärast installimist saate luua JavaScript-faile, luues TypeScript-faile (laiendiga .ts) ja kompileerides need TypeScript-kompilaatoriga tsc.
4. samm: Loo TypeScript-fail
Loo TypeScript-fail, nt app.ts, ja sisesta sinna oma TypeScript-kood.
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. samm: Kompileeri fail
Kompileerige TypeScript-fail, sisestades järgmise käsu:
tsc app.tsbashSee kompileerib app.ts JavaScript-failiks nimega app.js. Seejärel saate JavaScript-faili käivitada.
Millised omadused on TypeScriptil?
Veebiarendus on viimastel aastatel teinud märkimisväärseid edusamme ja TypeScript on kujunenud äärmiselt tõhusaks alternatiiviks JavaScriptile. Allpool oleme kokku võtnud selle keele olulisemad omadused.
Staatiline tüüpimine
Staatiline tüüpimine on TypeScripti oluline omadus, mis võimaldab määrata muutujate, parameetrite, funktsioonide ja muude koodielementide andmetüübid. Erinevalt JavaScripti dünaamilisest tüüpimisest, kus andmetüübid määratakse kindlaks käivitamise ajal, määratakse TypeScriptis andmetüübid kindlaks arendamise ajal enne koodi käivitamist. See meetod aitab varakult tuvastada vigu ja loogilisi probleeme.
function add(a: number, b: number): number {
return a + b;
}
const result = add(5, 3); // valid
const result = add(5, "3"); // Type ErrortypescriptSelles näites kasutasime funktsiooni add jaoks staatilist tüüpimist. Kaks parameetrit a ja b on deklareeritud numbritena (number) ja funktsioon tagastab tüübi number väärtuse. Iga katse kasutada seda funktsiooni teise andmetüübiga põhjustab TypeScriptis vea.
Valikuline kirjutamine
Valikulise tüüpimise abil on teil võimalik määrata teatud muutujate ja parameetrite andmetüübid, jättes teised määratlemata andmetüübiga.
function sayHello(name: string, age: any): string {
if (age) {
return `Hello, ${name}, you are ${age} years old.`;
} else {
return `Hello, ${name}.`;
}
}typescriptFunktsioon sayHello on defineeritud parameetritega name ja age. Märge any näitab, et parameeter age võib olla mis tahes andmetüüp.
ES6+ funktsioonid
TypeScript toetab kaasaegseid JavaScripti funktsioone, sealhulgas ES6 ja uuemaid funktsioone, nagu noolefunktsioonid ja mallistringid.
const multiply = (a: number, b: number): number => a * b;
const greeting = (name: string) => `Hello, ${name}!`;typescriptNoolefunktsioonid muudavad süntaksi lühemaks ja lakoonilisemaks.
Koodi korraldus
TypeScript pakub paremat koodi organiseerimist ja tagab, et kood jaguneb taaskasutatavateks osadeks. See on võimalik tänu moodulitele ja nimeruumi.
// Math.ts
export function add(a: number, b: number): number {
return a + b;
}
// Main.ts
import { add } from './Math';
const result = add(5, 3);typescriptSiin näitame, kuidas struktureerida koodi moodulitega ja kasutada import ja export organiseerimiseks. Lisamise funktsioon on defineeritud eraldi moodulis nimega Math.ts ja seejärel imporditud ja integreeritud teise moodulisse, Main.ts.
Objektorienteeritud programmeerimine (OOP)
TypeScript hõlbustab objektorienteeritud programmeerimist TypeScripti klasside, liideste ja pärimise abil:
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();typescriptSee näide näitab klasside ja objektorienteeritud programmeerimise (OOP) kasutamist TypeScriptis. Klassil Person on omadused name, age ja meetod greet, mida kasutatakse isiku tutvustamiseks ja tema kohta teabe andmiseks.
Laiendatud tüübisüsteem
TypeScripti tüübisüsteem on paindlik ja ulatuslik. Saate luua kasutaja määratud tüüpe ja liideseid ning isegi laiendada olemasolevaid tüüpe.
interface Animal {
name: string;
}
interface Dog extends Animal {
breed: string;
}
const myDog: Dog = { name: "Buddy", breed: "Labrador" };typescriptLiides Animal määratleb omaduse name, samas kui liides Dog pärineb liidesest Animal ja lisab täiendava omaduse breed. Objektil myDog on mõlema liidese omadused.
Ühilduvus JavaScriptiga
TypeScript on JavaScriptiga ühilduv, mis võimaldab seda kasutada igas JavaScripti keskkonnas. See ühilduvus muudab TypeScripti järkjärgulise lisamise praegustesse JavaScripti projektidesse lihtsamaks.
// JavaScript-Code
function greet(name) {
return "Hello, " + name;
}
// TypeScript-Code
function greet(name: string): string {
return "Hello, " + name;
}typescriptEespool toodud JavaScripti koodi (ilma tüüpide määratlemiseta) saab probleemideta kasutada TypeScripti koodis (tüüpide määratlemisega).
Millised on TypeScripti eelised ja puudused?
Kuigi TypeScript pakub mitmeid eeliseid, on sellel ka mõned puudused. Siin on ülevaade:
Eelised
TypeScriptil on ulatuslik tüübidefinitsioonide ökosüsteem paljude JavaScripti raamatukogude ja raamistike jaoks. See muudab kolmandate osapoolte koodi integreerimise TypeScripti projektidesse sujuvaks ja lihtsaks. See on kasulik tänapäeva veebipõhiste rakenduste maailmas, mis tuginevad sageli mitmetele raamatukogudele ja raamistikutele.
Lisaks staatilisele tüüpimisele pakub TypeScript mitmeid arendusfunktsioone, sealhulgas liideseid, klasse, mooduleid ja toetust kehtivatele ECMAScripti standarditele. Need funktsioonid parandavad koodi struktureerimist, hõlbustavad projektide hooldatavust ja skaleeritavust ning edendavad arendustöö produktiivsust. Paljud integreeritud arenduskeskkondad (IDE), nagu Visual Studio Code, pakuvad TypeScriptile suurepärast tuge.
Puudused
TypeScriptiga harjumiseks kulub aega, eriti arendajatel, kes on enne seda kasutanud ainult JavaScripti. TypeScripti kood tuleb enne brauserites või Node.js-keskkonnas käivitamist kompileerida JavaScriptiks. See lisab arendusprotsessi ühe lisasammu.
Väiksemate projektide puhul võib TypeScript tunduda liiga keeruline, kuna tüübikindluse eelised ei pruugi olla nii ilmsed. TypeScripti projektid võivad nõuda rohkem ressursse täiendava tüübiinfo ja kompileerimisetappide tõttu.
Millised on TypeScripti alternatiivid?
Sõltuvalt projekti konkreetsetest nõuetest ja arendaja(te) eelistustest on olemas mitmesuguseid veebiprogrammeerimiskeeli, mis võivad olla heaks alternatiiviks TypeScriptile.
- Flow: Flow on Facebooki poolt arendatud JavaScripti staatiline tüübikontrollija. See võimaldab lisada JavaScripti koodile tüüpe, ilma et oleks vaja täielikult üle minna TypeScriptile. Flow on hea valik, kui soovite tüüpimist järk-järgult oma JavaScripti projektidesse integreerida.
- Dart: see on Google’i poolt arendatud programmeerimiskeel, mida saab kasutada veebirakenduste ja mobiilirakenduste loomiseks. See pakub tüübikindlust ja head jõudlust. Dart’i kasutatakse sageli koos Flutteri raamistikuga mobiilirakenduste arendamiseks.
- PureScript: PureScript on tugevalt tüübitav funktsionaalne programmeerimiskeel, mis pakub tugevat tüübikindlust ja puhtalt funktsionaalset programmeerimisstiili. See võimaldab importida JavaScripti raamatukogusid.
- Elm: Elm on funktsionaalne, tugevalt tüübiturvaline keel, mis on loodud veebirakenduste arendamiseks. Elm edendab Elm Architecture põhimõtet ja pakub kõrget tüübiturvalisust.
- ReasonML (BuckleScript): see keel on arendatud Facebooki poolt ja põhineb OCaml-il. BuckleScript on kompilaator, mis kompileerib ReasonML-i JavaScriptiks. See võimaldab ka tüübikindlust ja on lihtne integreerida Reactiga frontend-arendamiseks.
Meie digitaalses juhendis käsitletakse põhjalikumalt muid teemasid, nagu TypeScripti funktsioonid ja TypeScripti massiivid.
e75cdbdbe04a7c169f7217c3d8777f68