Ghiduri

Ce este TypeScript? Ghid simplu pentru nespecialiști

TypeScript este JavaScript cu tipuri. Adaugi etichete care spun ce fel de date ar trebui să fie fiecare valoare — un număr, un text, o listă de comenzi — iar TypeScript verifică codul pentru nepotriviri înainte să ruleze. Site-ul TypeScript îl descrie ca „JavaScript cu sintaxă pentru tipuri”; tipurile sunt eliminate când codul este convertit în JavaScript obișnuit, care rulează oriunde rulează JavaScript.

De ce contează când construiești cu AI

Modelele AI scriu cod repede, iar codul rapid are greșeli: un câmp numit customerName într-un fișier și customer_name într-altul, un preț trimis ca text în loc de număr, o funcție apelată fără o valoare. În JavaScript simplu, multe dintre aceste greșeli apar abia când cineva apasă butonul greșit.

TypeScript prinde multe dintre ele mai devreme, pe măsură ce codul este scris:

  • AI-ul primește feedback instant. Erorile de tip arată exact linia greșită, deci agentul o poate repara înainte să o vezi tu.
  • Modificările sunt mai sigure. Redenumești un câmp, iar TypeScript semnalează fiecare loc care încă folosește numele vechi.
  • Codul se explică singur. Tipurile documentează ce așteaptă și ce returnează o funcție, ceea ce te ajută pe tine, pe AI și pe orice dezvoltator care lucrează ulterior la el.
  • Editoarele sunt mai inteligente. Autocompletarea și „mergi la definiție” funcționează mai bine, pentru că editorul știe ce fel de valoare este fiecare.

Acesta este un motiv important pentru care mulți constructori de aplicații AI folosesc implicit TypeScript.

O analogie din viața de zi cu zi

Gândește-te la un depozit de transport cu compartimente etichetate. Fiecare compartiment are o plăcuță: „Doar paleți”, „Refrigerat”, „Maximum 500 kg”. Când sosește o livrare, un verificator de la intrare compară marfa cu plăcuța. Peștele congelat destinat compartimentului cu produse uscate este oprit la intrare, nu descoperit o săptămână mai târziu, când miroase.

TypeScript este verificatorul de la intrare. Tipurile sunt plăcuțele. Verificarea se face înainte ca marfa — adică codul tău — să intre în folosință. Și, odată ce totul este la locul lui, plăcuțele sunt scoase: codul JavaScript care rulează nu mai are tipuri.

Cum funcționează TypeScript

  1. Tu (sau AI-ul) scrii fișiere .ts sau .tsx — TypeScript, cu etichete de tip.
  2. Verificatorul de tipuri citește codul și raportează nepotrivirile ca erori în editor sau la build.
  3. Un pas de build elimină tipurile, producând JavaScript obișnuit.
  4. JavaScript-ul rulează în browser sau pe un server (Node.js, Deno, Bun).

O consecință importantă: TypeScript verifică codul pe care l-ai scris, nu datele care sosesc în timp ce aplicația rulează. Dacă un API extern trimite înapoi ceva neașteptat, TypeScript nu îl vede decât dacă adaugi validare la rulare.

Un exemplu practic: un formular de rezervare

Să zicem că construiești o aplicație de rezervări pentru un salon de coafură. Iată un tip care descrie o rezervare:

type Booking = {
  id: number;
  customerEmail: string;
  service: "haircut" | "colour" | "blow-dry";
  startsAt: Date;
  price: number;
  notes?: string; // the ? means optional
};

Și o funcție care calculează un avans:

function depositFor(booking: Booking): number {
  return booking.price * 0.2;
}

Acum vezi ce prinde TypeScript.

Un câmp scris greșit.

depositFor({ id: 1, customerEmail: "lena@example.com", service: "haircut",
  startsAt: new Date(), prise: 40 });

TypeScript raportează că prise nu este o proprietate cunoscută și că lipsește price. În JavaScript simplu, aceasta ar calcula în liniște un avans de NaN (nu este un număr).

Un tip greșit de valoare.

const booking: Booking = { ...otherFields, price: "40" };

TypeScript raportează că un șir de caractere nu poate fi folosit acolo unde se așteaptă un număr. Fără el, "40" * 0.2 funcționează, dar "40" + 5 dă "405" — genul de greșeală care apare pe o factură.

Un serviciu care nu există.

const booking: Booking = { ...otherFields, service: "perm" };

TypeScript raportează că "perm" nu este unul dintre serviciile permise. Când salonul adaugă mai târziu permanente, adaugi valoarea în tip, iar TypeScript îți arată fiecare loc care trebuie actualizat — lista de prețuri, formularul, culorile din calendar.

Ce nu poate prinde. Dacă formularul de rezervare trimite price: "40" din browser către server, TypeScript de pe server nu vede asta la rulare. De aceea, aplicațiile bine construite validează și datele care sosesc, adesea cu o bibliotecă de validare care verifică forma și o transformă într-un Booking corect.

TypeScript vs JavaScript

JavaScriptTypeScript
Ce esteLimbajul pe care îl rulează browsereleJavaScript plus sintaxă pentru tipuri
Rulează direct în browsereDaMai întâi este convertit în JavaScript
Prinde greșeli de tipLa rulare, dacă le prindeÎn timpul scrierii, înainte de rulare
ConfigurareNiciunaUn pas de build (de obicei gestionat de unelte precum Vite sau Next.js)
Potrivit pentruScripturi mici, experimente rapideAplicații care vor crește și se vor schimba
Extensii de fișier.js, .jsx.ts, .tsx

Termeni comuni explicați

TermenCe înseamnă
Type (tip)O descriere a ceea ce poate fi o valoare: un număr, un text, o formă specifică de obiect.
Type annotation (adnotare de tip)O etichetă scrisă în cod, de exemplu price: number.
Type inference (inferență de tip)TypeScript care deduce singur un tip, fără etichetă.
Interface / type aliasO descriere cu nume a formei unui obiect, precum Booking.
Union type (tip reuniune)O valoare care poate fi una dintre mai multe opțiuni, precum "haircut" | "colour".
Optional property (proprietate opțională)Un câmp care poate lipsi, marcat cu ?.
anyUn tip care oprește verificarea pentru o valoare — o ieșire de urgență de folosit cu moderație.
Type error (eroare de tip)Raportul TypeScript că ceva nu se potrivește.
Compile / transpileConversia TypeScript în JavaScript.
.tsxUn fișier TypeScript care conține JSX, folosit în aplicațiile React.
tsconfig.jsonFișierul de setări care arată cât de strict verifică TypeScript proiectul.
Runtime validation (validare la rulare)Verificarea datelor reale care sosesc în timp ce aplicația rulează.

Greșeli frecvente și concepții greșite

  • „TypeScript face codul fără erori.” Prinde nepotriviri în forma datelor, nu greșeli de logică. Un avans de 2% în loc de 20% trece verificarea de tip fără probleme.
  • „Tipurile mă protejează de datele greșite.” Tipurile dispar la rulare. Validează datele de la utilizatori, formulare și API-uri.
  • any peste tot. Când un AI este blocat, poate apela la any sau la // @ts-ignore ca să facă erorile să dispară. Asta ascunde problemele în loc să le rezolve.
  • Ignorarea erorilor de tip pentru că previzualizarea funcționează. Unele unelte rulează totuși cod cu erori de tip. Erorile rămân greșeli care așteaptă să se întâmple.
  • „TypeScript este mai lent.” Tipurile sunt eliminate înainte de rulare; JavaScript-ul care rulează este practic același.
  • „Este doar pentru echipe mari.” Constructorii solo beneficiază și ei, mai ales când un AI face majoritatea modificărilor.

Ce să ceri constructorului tău AI

  • „Folosește TypeScript cu modul strict activat.”
  • „Definește tipuri comune pentru principalele noastre înregistrări — Customer, Booking, Invoice — și folosește-le atât în frontend, cât și în backend.”
  • „Nu folosi any sau @ts-ignore ca să treci peste erori; repară problema de fond și spune-mi care a fost.”
  • „Validează toate datele care sosesc pe server, nu doar prin tipuri.”
  • „Rulează verificatorul de tipuri și repară fiecare eroare înainte să-mi spui că s-a terminat.”
  • „Când redenumești un câmp, actualizează fiecare loc semnalat de TypeScript.”
  • „Explică în cuvinte simple această eroare de tip.”

Pentru verificarea codului produs de AI, vezi cum să revizuiești codul generat de AI și cum să depanezi o aplicație construită cu AI.

TypeScript în Mythex

Când nu ceri nimic anume, Mythex pornește proiectele noi pe Vite + React + TypeScript + Tailwind. Editorul de cod include inteligență de limbaj — completări, diagnostice și mergi-la-definiție pentru TypeScript și JavaScript, printre altele — așa că erorile de tip se văd în cod, nu doar în previzualizare. Editorul este doar pentru citire pe Free și complet editabil pe Pro. Poți cere în continuare o altă configurație în primul prompt; pagina din documentație despre cum este aleasă tehnologia explică cum, iar documentația editorului de cod acoperă ce arată editorul.

Întrebări

Ce este TypeScript, pe scurt?

TypeScript este JavaScript cu tipuri. Etichetezi ce fel de date trebuie să fie fiecare valoare, de exemplu un număr, un text sau o fișă de client, iar TypeScript verifică codul pentru nepotriviri înainte să ruleze. Apoi este convertit în JavaScript obișnuit.

TypeScript este un limbaj diferit de JavaScript?

Este un superset al JavaScript: JavaScript plus o sintaxă suplimentară pentru tipuri. Site-ul TypeScript îl descrie ca JavaScript cu sintaxă pentru tipuri. Tipurile sunt eliminate când codul este convertit în JavaScript, pentru a rula.

De ce folosesc constructorii de aplicații AI TypeScript?

Tipurile oferă AI-ului și uneltelor din jurul lui o modalitate rapidă de a prinde greșeli, precum trimiterea unui text acolo unde se așteaptă un număr sau scrierea greșită a unui nume de câmp. Erorile apar înainte ca un utilizator să le întâlnească, ceea ce face codul generat de AI mai ușor de verificat și de modificat.

TypeScript face aplicația fără erori?

Nu. Prinde o categorie întreagă de greșeli despre forma datelor, dar nu și logica de business greșită, iar nu verifică datele care sosesc la rulare de la utilizatori sau API-uri decât dacă adaugi validare.

Cine a creat TypeScript?

TypeScript este un limbaj open source dezvoltat de Microsoft. Rulează oriunde rulează JavaScript, inclusiv în browsere, Node.js, Deno și Bun.

Mythex · Pricing · Construiește orice cu AI · Șabloane pentru site-uri și aplicații · Mythex comparat · Glosar pentru crearea de aplicații cu AI · Instrumente gratuite pentru crearea de aplicații cu AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)