TypeScript vs JavaScript: het echte verschil

TypeScript vs JavaScript

TypeScript vs JavaScript: wat verandert er, wat tsc uitvoert | We.Inc

Zie TypeScript naast het JavaScript waarnaar het compileert, ontdek wat de type checker vangt, waarom types bij runtime verdwijnen en wanneer gewoon JavaScript volstaat.

TypeScript is JavaScript plus een typesysteem. U schrijft gewoon JavaScript met optionele type-annotaties, en de compiler tsc controleert die en haalt ze daarna weg om gewoon JavaScript te maken. Browsers en Node draaien die output, dus types bestaan nooit bij runtime. De winst is dat u fouten al tijdens het bewerken vangt, niet snellere code.

Naast elkaar

Kies hieronder een voorbeeld om een TypeScript-bestand te zien naast het JavaScript dat tsc ervoor schreef. Meestal is de output uw code zonder de annotaties. Een paar features, zoals enums, genereren echte code, en dat verschil telt bij de keuze van uw tools.

Veelgestelde vragen

Is TypeScript een andere taal dan JavaScript?

Het is een superset. Elk TypeScript-programma wordt JavaScript, en TypeScript voegt syntax toe om de vorm van waarden te beschrijven. Leer eerst JavaScript; de types liggen erbovenop in plaats van het te vervangen.

Maakt TypeScript mijn site sneller?

Nee. Annotaties worden verwijderd voordat de code draait, dus de browser voert hetzelfde JavaScript uit dat u met de hand zou hebben geschreven. De voordelen zijn minder bugs die gebruikers bereiken en veiliger refactoren.

Weigert tsc te bouwen als er een typefout is?

Niet standaard. tsc meldt de fout en schrijft het .js-bestand toch, wat een geleidelijke migratie mogelijk maakt. Stel noEmitOnError in als u wilt dat een mislukte controle de output blokkeert.

Kan Node .ts-bestanden draaien zonder build-stap?

Recente Node-versies strippen wisbare typesyntax en draaien het bestand, met type stripping standaard aan sinds v23.6.0 en v22.18.0. Node doet geen typecontrole, en syntax die gegenereerde code nodig heeft, zoals enums, wordt geweigerd.

Wanneer is gewoon JavaScript de betere keuze?

Kleine scripts, snelle prototypes en pagina's met een paar regels interactiviteit verdienen de setup zelden terug. Zodra een project meerdere bestanden heeft, meerdere mensen of data die tussen modules wordt doorgegeven, begint de checker echt tijd te besparen.

Wat tsc echt doet

Types worden gewist, valideer dus echte data

Features die niet alleen worden gewist

TypeScript toevoegen aan een JavaScript-project

Installeren en een tsconfig maken

Installeert de compiler lokaal, schrijft een start-tsconfig.json en draait een controle zonder bestanden te schrijven.

Met allowJs kunnen oude .js-bestanden tijdens een migratie naast nieuwe .ts-bestanden staan; noEmit laat de output over aan uw bundler.

Data controleren die de compiler niet kan zien

Een runtime-guard die het type vernauwt

De functie controleert de waarde echt, en het returntype vertelt de compiler wat bewezen is.

Annotaties

De parameter- en returntypes worden gecontroleerd en daarna verwijderd. De body blijft onaangeroerd.

Interface

Een interface levert helemaal geen output op. Hij bestaat alleen voor de checker.

Enum

Een gewone enum wordt een echt object met een omgekeerde mapping, dus dit is gegenereerde code, geen gewiste syntax.

const enum

tsc zet de leden van een const enum inline als getallen en laat een commentaar met de oorspronkelijke naam staan.

Typefout

tsc meldt: Argument of type 'string' is not assignable to parameter of type 'number'. Het bestand wordt toch geschreven, tenzij noEmitOnError is ingesteld.

TypeScript en het JavaScript dat het wordt

Kies een voorbeeld

TypeScript dat u schrijft

JavaScript dat tsc uitvoert (target es2022)

TypeScript kopiëren

JavaScript kopiëren

{n} regels in, {v} regels uit

Gratis beginnen · Geen creditcard nodig

Gerelateerd: Gidsen

Product

Voor wie

Functies

Bronnen

Bedrijf

Sitemap