Er wordt voorgesteld om syntaxis met type-informatie toe te voegen aan de JavaScript-taal

Microsoft, Igalia en Bloomberg hebben het initiatief genomen om syntaxis op te nemen in de JavaScript-specificatie voor expliciete typedefinities, vergelijkbaar met de syntaxis die wordt gebruikt in de TypeScript-taal. Momenteel worden de prototypewijzigingen die zijn voorgesteld voor opname in de ECMAScript-standaard ingediend voor voorbereidende discussies (fase 0). Tijdens de volgende bijeenkomst van de TC39-commissie in maart is het de bedoeling om over te gaan naar de eerste fase van de behandeling van het voorstel, met betrokkenheid van de deskundigengemeenschap van ECMA.

Als u expliciet gespecificeerde type-informatie heeft, kunt u veel fouten tijdens het ontwikkelingsproces voorkomen, kunt u aanvullende optimalisatietechnieken gebruiken, het debuggen vereenvoudigen en de code leesbaarder maken en gemakkelijker worden aangepast en ondersteund door externe ontwikkelaars. Er wordt voorgesteld om typeondersteuning te implementeren als een optionele functie - JavaScript-engines en runtimes die typecontrole niet ondersteunen, negeren annotaties met type-informatie en verwerken de code zoals voorheen, waarbij typegegevens als commentaar worden behandeld. Maar typecontroletools zullen de beschikbare informatie kunnen gebruiken om fouten te identificeren die verband houden met onjuist gebruik van typen.

Bovendien zal, in tegenstelling tot type-informatie die is gespecificeerd met behulp van JSDoc-annotaties die zijn gespecificeerd in de vorm van commentaar, directe indicatie van typen rechtstreeks in constructies met variabele definitie de code visueler, begrijpelijker en gemakkelijker te bewerken maken. IDE's met TypeScript-ondersteuning kunnen bijvoorbeeld onmiddellijk fouten in getypte JavaScript-code markeren zonder extra conversies. Bovendien zal de ingebouwde typeondersteuning het mogelijk maken om programma's uit te voeren die zijn geschreven in getypte JavaScript-dialecten, zoals TypeScript en Flow, zonder van de ene taal naar de andere over te schakelen.

Er wordt voorgesteld om syntaxis met type-informatie toe te voegen aan de JavaScript-taal

Onder de typen wordt voorgesteld om β€œstring”, β€œnumber” en β€œboolean” toe te voegen, die kunnen worden gebruikt bij het definiΓ«ren van variabelen, functieparameters, objectelementen, klassevelden, getypte arrays (β€œnumber[]”). Er wordt ook voorgesteld om ondersteuning te bieden voor samengevoegde typen (β€œstring | nummer”) en generieke geneesmiddelen. laat x: tekenreeks; functie add(a: getal, b: getal) { return a + b; } interface Persoon { naam: string; leeftijd:aantal; } functie foo (x: T) {retour x; } functie foo(x: string | getal): string | getal { if (typevan x === getal) { return x + 1 } else { return x + "!" } }

Bron: opennet.ru

Voeg een reactie