- TypeScript 6.0 is de laatste grote release van de JavaScript-compiler en bereidt projecten voor op de aankomende native, op Go gebaseerde TypeScript 7.0.
- De update verscherpt de standaardinstellingen (strikte modus, moderne ES-doelen, ESM-modules), voegt nieuwe platform-API's toe en introduceert een stabiele typevolgorde-vlag.
- Veel verouderde opties en moduleformaten (ES5, AMD/UMD/SystemJS, baseUrl, klassieke resolutie) worden afgekeurd voordat ze in versie 7.0 volledig worden verwijderd.
- De prestatieverbeteringen die de Go-herschrijving met zich meebrengt, beloven ongeveer 7 tot 10 keer snellere builds, een lager geheugenverbruik en responsievere editortools voor grote codebases.
TypeScript 6.0 is een bijzondere versie: geen enkele andere iteratie meer, het uiteindelijke doel is om de huidige compiler in JavaScript te bouwenHet kan zijn dat de evolutie zich afspeelt tijdens de eerste fase van het project. Aan de andere kant, terwijl de focus op TypeScript 7.0 ligt, wordt een herimplementatie van de oorspronkelijke versie opgeschreven om veel snellere compilaties te maken, meer geheugengebruik en een veel reactieve service in de editor van VS Code.
In de praktijk werkt TypeScript 6.0 als een manier om dit te doen regel 5.9 y la futura 7.0: pas veel van de compileeropties aan met de moderne realiteit van het ecosysteem JavaScript, introduceer nieuwe capaciteiten en API's die standaard zijn, en al die tijd wordt het deel van de accumulatie van heren langer dan een decennium lang verouderd (antiguos, verouderde modulaire systemen en banderas) configuratie die u nog niet in 2026 heeft verzonden). Het is een feit dat het model van de meeste mensen op een bepaalde manier wordt gebruikt.
TypeScript 6.0 is de ultieme versie van de klassieke compiler
Microsoft heeft duidelijk gemaakt dat TypeScript 6.0 de laatste versie van de burgemeester ondersteunt met de code van de compiler in JavaScript, historisch weergegeven als "Strada". Vanaf 7.0 is het protagonisme pas een nieuwe backend-nativo in Go, met de naam "Corsa", die beschikbaar is in de vorm van nachtelijke builds en een specifieke uitbreiding voor VS Code-georiënteerd in de echte wereld.
Dit is een reescritura in Go no cambia the lenguaje en sí, de technologie wordt gebruikt om analyses uit te voeren, cheques en als dit nodig is, geef JavaScript uit. Het doel is om de meeste problemen op te lossen, waardoor er meer zichtbaar wordt met de jaren: de tijd om de lenguaje-service van grote projecten te regelen, de compilaties die al een paar minuten op CI staan en een geheugenverbruik wordt verhoogd als de monorepos anders is.
Het apparaat heeft veel verschillende resultaten gepubliceerd die de feitelijke compiler vergelijken met de oorspronkelijke versie van echte projecten. Code als de VS Code (goedgekeurd voor 1,5 miljoen regels) duurde 77,8 seconden en een volledige analyse met de klassieke compiler tot een paar 7,5 seconden met de compiler in Go, is decir, meer dan 10 keer zo snel. Toneelschrijver, met 356.000 regels, 11,1 seconden tot 1,1, en TypeORM, met 270.000 regels, 17,5 tot 1,3.
Er zijn talloze solo-implicanen die meer rapidas in CI bouwen; también cambian de ervaring van het dagboek in de redacteur. In het monopolie van VS Code bedraagt de tijdsduur van de lenguajet-service ongeveer 9,6 seconden tot 1,2 seconden, met een vermindering van het geheugen tot op zekere hoogte. Voor veel uitrusting is het belangrijk dat u niet kunt accepteren dat u 'normaal' bent, maar dat u verschillende keren kunt kijken of de redacteur een volledige cheque heeft uitgeschreven tsc --noEmit.
Het rendement is niet alleen van toepassing op het compileren van een natieve code, maar op de mogelijkheid van het gebruik van multi-threading met een compartidageheugen. De compiler kan een analyse maken van een uniek project en de compilatie van meerdere projecten paraliseren met behulp van projectreferenties en de modus --build. Dit is een combinatie met een nieuwe implementatie van incrementele compilaties.
Waarom moet je TypeScript herschrijven in Ga je niet naar Roest in een andere taal?
Een van de meest voorkomende beslissingen is de keuze voor Go als lenguaje voor de nieuwe compiler, in Rust, C++ en andere typische opties voor hoge prestaties. Een eerste blik op de sorprender, nu het een ecologisch systeem is, heeft veel van de nieuwe generaties (SWC, oxc, enz.) die in Rust worden beoordeeld.
De uitrusting van TypeScript heeft verschillende praktische motieven om te starten bij GoDoor een lado, zal uw basura-verzamelaar zich aanpassen aan de beschermheren van de memorie die een compiler tentoonstelt, waardoor het handmatig bijhouden van de memorie in een volledige code wordt verminderd. Om andere redenen, de structuur van de lenguaje en uw modelmodel maken het mogelijk om direct een relatie te leggen met de bestaande code van TypeScript, in tegenstelling tot het meer opdringerige dat exigiría portar to do Roest.
Je kunt veel van de propia-filosofie van Go verwachten: een lenguaje sencillo, met de vormen van “creativa” van mismo en een fuerte oriëntatie op de heldere code. Als u een kritisch project beheert en een grote video maakt als de TypeScript-compilator, zal u een kosten voor beheer overbrengen en een basis van meer toegankelijke codes maken voor toekomstige samenwerkingen.
Omdat er geen sprake is van kritiek op Rust, is er een pragmatische paragraaf in het Go-stijl en de cultuur van TypeScript. Deze lenguajes hebben van tevoren de “eenvoudige werking” van voorspelbare vormen aangenomen, omdat experimenten met geavanceerde lenguas of uiterst geavanceerde geheugenmodellen de levensdag van de uitrusting kunnen compliceren.
Naast de compiler kan de migratie ook de adoptie van meer diepgaande Lenguaje-protocollen (LSP) ondersteunenHet is mogelijk dat andere onderscheidende redacteuren van de VS Code het verkeerde 'idioom' met de nieuwe backend kunnen gebruiken en profiteren van hun rendement, afhankelijk van specifieke ad hoc-integraties.
Wat is Realmente TypeScript 6.0?
Nu de media-aandacht is begonnen met het compileren van Go, TypeScript 6.0 introduceert echte cambios en zichtbare beelden op de dag van de dag, nu een vorm van nieuwe waarde door gebreken, meer tips en alinea's met de ultieme especificaciones JavaScript. Het idee is dat, met versie 7.0, de overgang zee meer comfortabel is om de burgemeester van projecten te laten beginnen met het accepteren van de nieuwe reglas van de juego.
Een van de cambios is dat de modus strikt is (strict) pas een activatie door defect toe. Gedurende deze jaren wordt veel aanbevolen om een serieus project met "strict": true, maar de moed kan een defect zijn false. 6.0 Ga ervan uit dat de moderne burgemeester de voorkeur geeft aan een meer vereist model, en reserveer de desactiveringsoptie voor specifieke gevallen "strict": false en tsconfig.json.
Als u de standaardrelaties met de modules en het doel actualiseert. De nieuwe moed voor defecto de module es esnextAls u bedenkt dat het ecosysteem definitief is geworden voor ESM als hoofdformaat, gaat u rechtstreeks naar Node.js en moderne navigatiesystemen of kunt u een bundelaar gebruiken. A su vez, el target impliciet is de ECMAScript-versie een meer recente versie die TypeScript ondersteunt (actueel es2025), een beweging die de alomtegenwoordigheid van runtimes evergreen aanneemt en optimaliseert voor plataformaten van antiguas als ES5.
Een andere belangrijke nieuwigheid is dat noUncheckedSideEffectImports we kunnen geen activatie door defect uitvoeren. Deze optie kan een detectie opleveren die alleen wordt gerealiseerd door onze secundaire effecten en die een menu met fouten of afhankelijkheden oplevert die in werkelijkheid kunnen worden verwezen naar de expliciete vorm van de code. Activeer de serie en verhoog de lijst met robuuste nieuwe projecten.
In plaats daarvan de optie libReplacement Als u deactiveert vanwege een defect, terwijl de burgemeester van projecten grote problemen ondervindt, hoeft u geen andere stappen te configureren en, zonder embargo, uw kosten te verlagen naar de vorm van de oplossing van de Fallida-modus. Omdat de algemene tendens eenvoudig is dat u niet in de Verenigde Staten kunt gaan werken, zal het tijdperk waarin u zich bevindt, een zorgvuldig gewetensproject uitvoeren.
Cambios en inferencia and tipado: menos sensibilidad al contexto en funciones sin this
Dankzij de configuratieaanpassingen omvat TypeScript 6.0 interessante interesante opties en veel meer tips en problemen met gebruikers. Een klassiek geval waarbij letterlijke voorwerpen met methoden een van de functionele parameters gebruiken, is niet langer afhankelijk van de algemene afhankelijkheid van andere propiedads, maar u kunt ook de volgorde van de claves gebruiken.
In het bijzonder zijn de functies met een bepaalde methode een parameter this impliciet dat de compiler deze callbacks als "gevoeligen in de context" heeft gebruikt. Omdat de indicaties voor een algemeen en het verkrijgen van contextuele informatie in opuestas-richtingen, de voorkeur van TypeScript wordt teruggebeld naar de hora de inferir, en de marcando als unknown De parameters die in werkelijkheid perfect worden bepaald door andere delen van het letterlijke voorwerp.
In 6.0 houdt de compiler rekening met het feit dat een functie niet verstandig is in de context van de parameter this nunca maakt gebruik van uw cuerpo. Deze vorm, een functie die wordt aangegeven als methode, heeft geen referentie this Als de vorm vergelijkbaar is met een pijlfunctie, kun je de informatie als gevolg van de gevolgtrekkingen van bepaalde tips goedkeuren, onafhankelijk van de volgorde van de propiedades in het voorwerp.
Dit kan een categorie fouten van enkele verwarringen verminderen die de ontleding van een parametre-onderwerp kan opleveren unknown zonde entender muy bien por qué. Als u een puur ergonomisch systeem hanteert: het model van de ondergeschikte modellen is niet van toepassing, maar de conclusie van de conclusie is groter met het feit dat de burgemeester van de stad denkt dat deze in deze gevallen veilig is.
Subpath-import met prefijo #/ en meer resolutie in de modus
TypeScript 6.0 biedt de mogelijkheid om de import van subpaden te starten met de ultieme e-specificaties van Node.js. Hasta hace poco, al declarar el campo imports en package.json, de alias internos debian empezar con # volgende tekst, bijvoorbeeld #root o #utils. Deze beperking resulteert in een willekeurige arbitrage met een bepaald doel van het alias-tijdperk, in de praktijk, en kan een prefijo worden ingesteld voor de productiecode.
De recente versies van Node 20 maken het mogelijk om subpaden te definiëren die met elkaar kunnen worden verbonden #/Dit betekent dat er een verplichte identificatie “tussentijd” is. Dit is een eenvoudige manier om veel gewone mensen te zijn, die lijken op veel mensen die gebruik maken van bundelaars, die hun voorkeur hebben @/... o #/... als de logica van het project.
TypeScript is opgenomen in de standaardmodus voor de oplossing van de modus node20, nodenext y bundler. Het is belangrijk dat projecten worden gebruikt "imports": { "#": "./dist/index.js", "#/*": "./dist/*" } en package.json Als u wilt dat het automatisch aanvullen en samenwerken van bepaalde tips samenhangt met de vorm waarin Knooppunt deze routines oplost.
Andere praktische toepassingen zijn de combinatiemogelijkheden --moduleResolution bundler met --module commonjsHasta ahora, la resolución bundler estaba limitada a módulos esnext o preserve, pero con la deprecación de --moduleResolution node (alias node10), op basis van de code die CommonJS uitstraalt, is een snelle migratieroute noodzakelijk. Deze combinatie is precies in deze kleur.
De nieuwe bandera –stableTypeOrdering en de voorbereiding voor paralelismo in 7.0
Een van de structurele cambios is meer diepgaand dan de native compiler in 7.0 en de adoptie van een analysemodel is echtEr kunnen meerdere “trabajadores” zijn die de sintaxis en de grafiek van de paralelo registreren. Dit is een curiosumprobleem: als interne ID's en symbolen afhankelijk zijn van de volgorde die ze beschrijven, kan het resultaat niet bepalend zijn voor de volgorde van het bezoek aan deze perfecte definitieve bestemming.
Bij het samenstellen van de huidige versie wordt een incrementeel identificatienummer ontvangen dat op de volgende manier wordt ingevoerd, en deze ID's worden gebruikt tussen andere soorten, om vakbonden te ordenen en de lijst van propedeuses te gebruiken. Dit wordt uitgelegd door 5.x de volgorde van een tipo como 100 | 500 podía invertirse a 500 | 100 si se introducía una constante letterlijke 500 voordat u een melding krijgt 100 in het bestand.
Op 7.0 is dit onaanvaardbaar, waardoor de uitwerpprocedure kan leiden tot verschillende soorten processen die verschillen van elkaar voor het verkeerde programma. De oplossing heeft een algoritme voor het bepalen van de volgorde bepaald op de inhoud van de tipo-objecten en is vergelijkbaar met de volgorde van de beschrijving. Op deze manier is de eenheid van de misma een voorbeeld van de misma-vorm (100 | 500, bijvoorbeeld), onafhankelijk van de manier waarop u de code heeft geregistreerd.
Om discrepanties tijdens de migratie te detecteren, introduceert TypeScript 6.0 de optie --stableTypeOrdering. Bij het activeren van de klassieke compiler wordt de verschillende indelingsstrategieën van gebruiksversie 7.0 overgenomen, waardoor het vergelijken van resultaten tussen verschillende versies wordt verminderd, vooral op de meldingsfiches en foutmeldingen.
Je moet dat onthouden --stableTypeOrdering als er sprake is van aanzienlijke kosten, levert dit een opbrengst van 25% op bij al onze projecten. De officiële aanbeveling is een vorm van tactiek tijdens de migratie- of verwijderingsfasen, geen permanente configuratie in alle andere gevallen.
Nieuwe doelen en platform-API's: es2025, Temporal, upsert en RegExp.escape
TypeScript 6.0 bevat het doel en de bibliografische koppeling es2025 zo veel voor target als voor lib. Sinds ES2025 zijn er geen nieuwe constructies van lenguaje geïntroduceerd, maar het consolideert verschillende API's die de definitieve status in het standaardproces hebben bereikt, zoals RegExp.escape, nuevos métodos en Promise, colecciones e iteradores.
Op dit moment worden er steeds meer mensen verklaard dat ze een levend leven leiden esnext ze verhuizen naar es2025inclusief Promise.try, nuevos métodos de Iterator y operaciones añadidas a Set. Het staat toe dat projecten eenvoudigweg de meest consoliderende punten van deze API's bevatten, omdat ze kunnen kiezen voor de combinatie van "experimenteel" esnext.
Een van de grote hoofdrolspelers in 6.0 is de integratie van tips voor de API Temporal, de beste keuze Date in JavaScript. Tijdelijk, in fase 3 en op de route die op het plataforma is opgenomen, zijn er enkele precieze punten voor momenten, fecha's, horas, zonas horarias en kalenders, en veel van de klassieke fouten in de feitelijke fecha-systemen.
TypeScript legt de tijdelijke tip van het woord uit esnext o se indica explícitamente "lib": o "esnext.temporal". Er is een mogelijkheid om te experimenteren met temporele dingen in de looptijden die tussen polyfills staan, met automatische voltooiing en controle van bepaalde typen.
Of het nu gaat om het combineren van colecciones, het is een manier om de “upgrade”-methode te gebruiken Map y WeakMap: getOrInsert y getOrInsertComputed. Formaliteiten in een ECMAScript-propedeuse die al in fase 4 zit, zijn methoden die een patroon coderen die vaak voorkomt: "Als de sleutel bestaat, is het zo dat deze waarde (of het resultaat van deze functie) en de waarde ervan wordt ingevoegd".
met getOrInsert, de code die vóór een veilige beveiliging staat has, get, set en almacenamiento tijdelijke puede reduceren een lama helder en tipada. En getOrInsertComputed Sta toe dat u de moedsberekening terugkrijgt omdat u moet bevestigen dat de sleutel niet aanwezig is, zodat u onnodige kosten kunt vermijden als de uitschakelprocedures een terugval vereisen.
En paralelo, 6.0 tipa de nieuwe functie is estática RegExp.escape, andere propuesta ya aprobada por TC39. Dit is een manier om een cadena te reciteren en een vluchtversie te ontwikkelen voor interpolaire reguliere expressies, het librando van het opschrijven van ontsnappingsgeheugens en het verminderen van de kwetsbaarheid van schadelijke bugs in het versturen van tekstuele documenten.
Actualisatie van DOM en globale bibliotheek: dom.itereerbare integratie en herconfiguratie van de bibliotheek
De DOM-bibliotheek van TypeScript wordt een maand geleden in 6.0 weergegevenDe bestanden lib.dom.iterable.d.ts y lib.dom.asynciterable.d.ts, dat kan een optie zijn om te kunnen vliegen Iterable y AsyncIterable, als u een integraal onderdeel van het programma overweegt lib.dom.d.ts.
In de praktijk is het belangrijk dat u geen hulp nodig heeft "dom.iterable" a la matriz "lib" om de directe DOM-collega's direct te kunnen gebruiken NodeList o HTMLCollection. Met "lib": Maar de logica is een wereld waarin de navigatiesystemen een onbestaande praktijk zijn.
Als u een project uitvoert, wordt dit verklaard dom als dom.iterableU kunt uw configuratie eenvoudig vereenvoudigen als het om functionaliteit gaat. Sommige van de aanvullende bibliotheekbestanden zijn altijd geldig, maar onze sub-archieven kunnen pas een tijdje worden gebruikt om hun inhoud samen te voegen met de belangrijkste bibliotheek van het internet.
Een cambio van veel meer calado's heeft invloed op de camping types de compilerOptions en tsconfig.json. Hasta ahora, cuando types nee se especificaba, TypeScript escaneaba node_modules/@types Het omvat de impliciete vorm van alle beschikbare pakketten, introductie in de mondiale simbolische procedures van @types/node, @types/jest en andere pakketten, de code is niet rechtstreeks geïmporteerd.
Dit houdt in dat er belangrijke kosten zijn voor grote projecten of monorepos die naast elkaar kunnen bestaan met de transitie-afhankelijkheid van sommige soortenEr kunnen conflicten ontstaan tussen de mondiale definities die niet noodzakelijk zijn. In 6.0, de waarde van het defect types pasa a ser un array vacío [].
De praktijk van de vervolgpraktijk is dat, bij het deel van de toekomst, de projecten expliciet worden verklaard dat de pakketten van de mondiale ontwerpen van auto's, bijvoorbeeld "types": . Veel apparaten kunnen verstandiger worden samengesteld (tussen 20% en 50% van de gegevens die met Microsoft samenwerken), eenvoudigweg om de ongedifferentieerde lading te elimineren die nu niet meer wordt gebruikt.
Als u rekening moet houden met de anti-carport van “cargarlo todo”, is er sprake van een mogelijke optie "types": , die de opsomming van het aantal opnieuw activeert @types. Het is absoluut niet zo dat de aanbeveling van het apparaat selectief is en alleen de essentiële pakketten op een rij zet, zodat het kan worden voorspeld.
rootDir, tsconfig en andere aanpassingen passen de bijbehorende functionaliteit aan
Andere relevante cambio's in de configuratie voor een defect zijn de nieuwe semantiek rootDir. Omdat het niet expliciet wordt aangegeven, leidt TypeScript af tot de projectie als de regisseur die alle binnengekomen archieven bevat zonder verklaringen. Het is verplicht om alle archiefanalyses samen te stellen voordat u een bedrijf, de logica en de kosten ervan toevoegt.
In 6.0, de waarde van het defect rootDir Pas als u de regie eenvoudigweg doet, kunt u het leven leiden tsconfig.jsonSolo en el caso de ejecutar tsc De lijn van de comandos is een configuratiefiche die de heuristiek van het afleiden van de raíz naar een deel van de binnenkomende archieven toepast.
Als een project wordt uitgevoerd door te zorgen dat uw huidige code wordt gedeeld, door bijvoorbeeld, nl ./src en als u de archiefbestanden direct samenvoegt, ./dist, als je dit tegenkomt, kan het zo zijn ./dist/src/index.js. De oplossing is expliciet in de configuratie als volgt "rootDir": "./src" y ajustar el patrón de include Bijgevolg.
Er bestaat een belangrijke taak in de relatie met de CLI als deze wordt aangeroepen tsc met archiefnamen in een directory die een inhoud bevat tsconfig.json. Nu, de configuratiekaart is stil, er ontstaat veel verwarring over de opties die in werkelijkheid worden toegepast. Vanaf versie 6.0 kan er een fout worden weergegeven die de weergave van de foutmelding weergeeft tsconfig.json U kunt niet langer archiefbestanden op de comandoslijn plaatsen.
Als de intentie nauwkeurig wordt genegeerd tsconfig.json Als u forma-archieven ad hoc samenstelt, bestaat er een nieuwe vlag --ignoreConfig dat deze fout wordt gedeactiveerd en wordt geactiveerd tsc met onze propios valores por defecto, is dit duidelijk met de configuratie van het project.
Belangrijke afschrijvingen: ES5, klassieke modulaire systemen, baseUrl en meer
Een deel van TypeScript 6.0 is verouderd of verouderd of elimineert opties en comportamientos die niet met de realiteit van het ecologisch systeem kunnen worden gerealiseerd. Deze afschrijvingen kunnen “stilstaan” op 6.0 gemiddeld "ignoreDeprecations": "6.0" In de configuratie is de weergave van Microsoft duidelijk: in bestaand versie 7.0.
In de eerste plaats verlaat u het doel es5, dat u veel tijd zult besteden aan het gebruiken van browsers tegen de tijd dat u Internet Explorer gebruikt. Met de onttrekking van IE en de absolute hegemonie van de evergreen-bestuurders, is de basis van het gebruik dat ES5 vereist als primair restproduct. Het is nu een minimum aan razoneerbare pasa ser es2015En het is noodzakelijk dat ES5 opnieuw een externe herramienta krijgt om naar beneden te gaan.
Relacionado met deze, de bandera --downlevelIteration pierde sentido en se marca nambién como deprecada. Er is een voorstel dat de semantische iteratie op een punt op ES5 controleert; Een modern doel heeft geen effect, maar de modus die gebruik maakt van 6.0 is een advertentie.
Door het spelen van modulaire modellen, kun je de waarde ervan zien amd, umd, systemjs y none voor de optie module. Deze formats zijn gebaseerd op de fundamentele kenmerken van de vroegere tijd van de adoptie van ESM en moderne bundelaars, maar ze kunnen dit nu nog steeds doen. Als een applicatie afhankelijk is van alle soorten, dan is de aanbeveling om de ECMAScript-modules te migreren en de historische compatibiliteit te delen met een bundel van een herramiente toewijding, of tijdelijk permanent in het programma 5.x.
Evenzo --moduleResolution node (ook genoemd node10) En --moduleResolution classic u verklaart verouderd ten gunste van nodenext y bundler. De eerste analyse met de nauwkeurigheid van het huidige knooppunt van Node.js en materiaal voor resolutiemodi (inclusief exportvoorwaarden, moderne package.js, enz.), kan de tweede keer worden gebruikt voor dominerende scenario's voor bundelaars, maar ook andere vergelijkbare zaken.
Een van de afschrijvingen die meer impact kan hebben op bestaande configuraties is de afschrijving baseUrl als zoekmechanisme voor modules. Geschiedenis is gebruikt om vooraf te gaan pathsAls u een algemene taak in overweging neemt, weet u dat een ‘oplosser’ een probleem kan oplossen tijdens het uitwerpen. In 6.0 wordt een eliminatie uitgevoerd baseUrl y reemplazarlo por entradas de paths uitleg over de volledige route, of een comodíne "*": solo in het geval dat het werk dit virtuele karakter biedt.
Als u de fijar-positie verliest, verdwijnt deze esModuleInterop y allowSyntheticDefaultImports a false. Gedurende deze jaren wordt de aanbevolen configuratie aanbevolen om deze opties te activeren om de importmodules CommonJS met de ESM-code te elimineren. Met 6.0 gaat de compiler ervan uit dat de modus "interoperabiliteit" defect is en dat hij verplicht is de invoer aan te passen die afhankelijk is van de antigua-semántica, zodat de geïmporteerde import mogelijk is import * as express from "express"; door import express from "express";.
De vlag alwaysStrict het is mogelijk dat u deactiveert. Als u in de praktijk werkt, moet u rekening houden met de JavaScript-modus, wat van invloed is op het gebruik van palabras-reserveringen als await, static, public o private als identificatie van de code “geen beperking” is het mogelijk dat u de waarde van this nl functies. Sommige gevallen zijn afhankelijk van deze bijzondere omstandigheden die opnieuw moeten worden uitgevoerd.
Por último, se elimina --outFile als optie voor het aaneenschakelen van meerdere items op een solo-fichero de salida. Omdat het grootste deel van de projectprojecten in bundels als Webpack, Rollup, esbuild, Vite of Parcel, een minibundel met TypeScript beheert, hoeft u geen nieuwe omkering te overwegen. Voor het gebruik ervan is het noodzakelijk om een herramiente van de exploitatie van uw pijpleiding in te voeren.
Sintaxis en richtlijnen: naamruimten, import beweert en no-default-lib
Meer dan alle compileropties, TypeScript 6.0 maakt het mogelijk om nieuwe sintaxis-constructies te maken die in conflict komen met de toekomstige evolutie van JavaScript. Een opmerkelijk geval is het gebruik van de palabra-clave module om naamruimten aan te geven, een kostuum van de eerste versies van de taal.
Sinds jaar en dag is het aanbevolen formaat om naamruimten aan te geven met de palabra namespaceTerwijl module deze marcando is verouderd in de redactie. Con 6.0, ese use de module als u direct besluit ongeldig te verklaren, zullen andere mensen toekomstige voorstellen doen moduleblokken in JavaScript kun je een conceptuele botsing tegenkomen met een antigua-sintaxis.
Dit heeft geen invloed op de verklaringen van externe modules met declare module "paquete" { ... }, die nog steeds volstaan. Solo se prohíbe el patrón module Foo { ... } Gebruik dit als u een klassieke naamruimte wilt inkapselen.
Andere punten die deze alinea met de standaarden zijn, zijn het verlaten van de “import-beweringen” op het sleutelbeen asserts. Het originele comité TC39 evolueert met “importattributen”, die het palabra kunnen gebruiken with en su lugar. En consequentie, uitdrukkingen als import data from "./file.json" asserts { type: "json" } er is een fout opgetreden en het gebruik ervan is opnieuw beschreven with.
Tenslotte, de richting van de triple slash /// <reference no-default-lib="true"/> deja de ser soportada. Deze opmerking wordt gebruikt om aan te geven dat het niet mogelijk is om de bibliotheek op te slaan vanwege gebreken, maar uw semantische tijdperk is verwarrend en kan meerdere malen worden uitgevoerd. Als cambio wordt aanbevolen om vlaggen helder te gebruiken --noLib o --libReplacement afhankelijk van het gewenste effect.
In de JavaScript-analyse met JSDoc wordt de native compiler goedgekeurd om de speciale beschermheerschap te vereenvoudigen @enum o @constructor. Vanaf versie 7.0 wordt u geadviseerd dat er “relais” in de archieven worden weergegeven. Als u de huidige functionaliteit uitschakelt en meer fouten kunt rapporteren, kunt u een document van meer expliciete forma-tips gebruiken.
Samen met TypeScript 6.0 wordt een groot deel van de configuratie- en compatibiliteitsonderdelen vernieuwd tijdens een decennium om een ecologisch systeem aan te passen aan ESM, evergreen navigatiesystemen, moderne bundelaars en standaarden die de norm beperken, de camino-lijst is klaar om de nationale compiler te gaan gebruiken Ontdek het maximum aan paralelismo en bied een veel snellere ervaring aan in de laatste geschiedenis.
