Se propone añadir sintaxis con información de tipos al lenguaje JavaScript

Las empresas Microsoft, Igalia y Bloomberg han propuesto incorporar en la especificación de JavaScript una sintaxis para la definición explícita de tipos, similar a la utilizada en TypeScript. Actualmente, el prototipo de cambios propuesto para su inclusión en el estándar ECMAScript está bajo discusión previa (Stage 0). En la próxima reunión del comité TC39 en marzo, se planea avanzar a la primera etapa de revisión de la propuesta con la participación de la comunidad de expertos de ECMA.

La inclusión de información de tipos explícita permitirá evitar muchos errores en el proceso de desarrollo, brindará la posibilidad de utilizar técnicas adicionales de optimización, simplificará la depuración y hará que el código sea más legible y fácil de modificar y mantener para otros desarrolladores. Se propone implementar el soporte de tipos como una opción opcional: los motores de JavaScript y los entornos de ejecución que no admitan la verificación de tipos ignorarán las anotaciones de información de tipos y procesarán el código como antes, considerando los datos de tipos como comentarios. Sin embargo, las herramientas de verificación de tipos podrán detectar errores relacionados con el uso incorrecto de tipos basándose en la información disponible.

A diferencia de la información sobre tipos especificada con anotaciones JSDoc, que se indican en forma de comentarios, la declaración directa de tipos en las definiciones de variables hará que el código sea más claro, comprensible y fácil de editar. Por ejemplo, los entornos de desarrollo integrados que admiten TypeScript podrán resaltar inmediatamente los errores en el código JavaScript tipado sin transformaciones adicionales. Además, el soporte integrado de tipos permitirá ejecutar programas escritos en dialectos tipados de JavaScript, como TypeScript y Flow, sin necesidad de transpilar de un lenguaje a otro.

Se propone añadir sintaxis con información de tipos al lenguaje JavaScript

Из типов предлагается добавить «string», «number» и «boolean», которые можно будет использовать при определении переменных, параметров функций, элементов объектов, полей классов, типизированных массивов («number[]»). Предлагается также обеспечить поддержку объединённых типов («string | number») и дженериков. let x: string; function add(a: number, b: number) { return a + b; } interface Person { name: string; age: number; } function foo<T>(x: T) { return x; } function foo(x: string | number): string | number { if (typeof x === number) { return x + 1 } else { return x + «!» } }

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster