Salt la conținutul principal
Modulul 1 · Lecția 1 din 21/14 în curs~10 min
Lecții din modul (1/2)

Tipuri primitive și adnotări

TypeScript este un superset scris de JavaScript, ceea ce înseamnă că adaugă sintaxă de tip static peste JavaScript existent. În timpul execuției, tot codul TypeScript este compilat în JavaScript pur și tipurile dispar complet în timpul procesului de construire.

Datorită TypeScript, puteți detecta erori înainte ca codul să ruleze în browser, făcându-vă procesul de dezvoltare mai robust, sigur și scalabil.


Tipuri primitive

TypeScript acceptă tipurile standard de primitive JavaScript:

  • string: reprezintă secvențe de caractere (de exemplu, 'Alice', "Hello").
  • number: reprezintă valori numerice, atât numere întregi, cât și zecimale (de exemplu, 42, 3.14).
  • boolean: reprezintă valorile de adevăr (true sau false).
  • null și undefined: reprezintă absența intenționată sau neintenționată a unei valori.
TS
const username: string = 'Alice';
const score: number = 100;
const isActive: boolean = true;

Adnotări variabile și inferențe

În TypeScript, putem adăuga o adnotare de tip utilizând două puncte (:) urmate de tip.

Dacă încercați să atribuiți o valoare de alt tip (de exemplu, alocarea unui șir pentru age definit ca number), compilatorul TypeScript va genera imediat o eroare înainte ca codul să fie rulat.


Pericolul tipului any

Tipul any este o hașă de evadare specială care îi spune TypeScript să dezactiveze complet verificarea tipului pentru acea variabilă.

TS
let data: any = 42;
data = 'Hello'; // No error!
data.nonExistentMethod(); // No error at compile time, but it crashes at runtime!

Utilizarea any anulează toate avantajele de siguranță ale utilizării TypeScript. Este considerată o practică proastă și ar trebui aproape întotdeauna evitată în codul de producție.


Adnotările funcției și tipul void

Putem adnota atât parametrii, cât și valoarea de returnare a unei funcții:

TS
function calculateTax(price: number, taxRate: number): number {
  return price * taxRate;
}

Dacă o funcție nu returnează nicio valoare (de exemplu, face doar un console.log), tipul ei de returnare este void:

TS
function logMessage(message: string): void {
  console.log(message);
}

Încercați-l singur

Exercițiul 1: Variabile tipizate

Exercițiu#ts.m1.l1.e1
Încercări: 0Se încarcă…

Declarați trei variabile scrise în mod explicit: numele utilizatorului ca șir cu valoarea „Alice”, scorul ca număr cu valoarea 100 și isActive ca boolean cu valoarea true. Nu utilizați orice tip.

Se încarcă editorul...
Afișează indiciu

Utilizați sintaxa : șir, : număr și : boolean după numele fiecărei variabile.

Soluție disponibilă după 3 încercări

Exercițiul 2: Funcția de salut

Exercițiu#ts.m1.l1.e2
Încercări: 0Se încarcă…

Creați o funcție numită greet care acceptă un nume de parametru de tip șir și returnează un șir în formatul „Bună ziua”, urmat de nume. Specificați în mod explicit atât tipul de parametru, cât și tipul returnat.

Se încarcă editorul...
Afișează indiciu

Declarați funcția ca funcție greet(nume: șir): șir { ... } și returnați mesajul.

Soluție disponibilă după 3 încercări

Exercițiul 3: Convertor de temperatură

Exercițiu#ts.m1.l1.e3
Încercări: 0Se încarcă…

Declarați o funcție numită celsiusToFahrenheit care acceptă un parametru celsius de tip număr și returnează temperatura echivalentă în grade Fahrenheit (număr). Formula este celsius * 9 / 5 + 32. Specificați în mod explicit atât tipul de parametru, cât și tipul de returnare.

Se încarcă editorul...
Afișează indiciu

Înmulțiți celsius cu 9, împărțiți cu 5, adăugați 32 și returnați rezultatul cu un tip de returnare: număr pe funcție.

Soluție disponibilă după 3 încercări

Exercițiul 4: Calculul reducerii

Exercițiu#ts.m1.l1.e4
Încercări: 0Se încarcă…

Creați o funcție numită calculateDiscount care acceptă un parametru preț al numărului de tip și un parametru discountPercent din numărul tipului și returnează prețul final redus ca număr. Specificați în mod explicit atât tipurile de parametri, cât și tipul de returnare.

Se încarcă editorul...
Afișează indiciu

Scădeți procentul de reducere împărțit la 100 de la 1, apoi înmulțiți cu prețul. Asigurați-vă că adnotați parametrii și returnați valoarea ca număr.

Soluție disponibilă după 3 încercări