Se propone agregar sintaxis con información de tipo al lenguaje JavaScript.

Microsoft, Igalia y Bloomberg han tomado la iniciativa de incluir una sintaxis en la especificación JavaScript para definiciones de tipos explícitas, similar a la sintaxis utilizada en el lenguaje TypeScript. Actualmente, los cambios de prototipo propuestos para su inclusión en el estándar ECMAScript se presentan para discusiones preliminares (Etapa 0). En la próxima reunión del comité TC39 en marzo, está previsto pasar a la primera etapa de consideración de la propuesta con la participación de la comunidad de expertos de ECMA.

Tener información de tipo especificada explícitamente le permitirá evitar muchos errores durante el proceso de desarrollo, permitirá utilizar técnicas de optimización adicionales, simplificará la depuración y hará que el código sea más legible y fácil de modificar y soportar por parte de desarrolladores externos. Se propone implementar la compatibilidad con tipos como una característica opcional: los motores y tiempos de ejecución de JavaScript que no admiten la verificación de tipos ignorarán las anotaciones con información de tipos y procesarán el código como antes, tratando los datos de tipos como comentarios. Pero las herramientas de verificación de tipos podrán utilizar la información disponible para identificar errores asociados con el uso incorrecto de tipos.

Además, a diferencia de la información de tipos especificada mediante anotaciones JSDoc especificadas en forma de comentarios, la indicación directa de tipos directamente en construcciones de definición de variables hará que el código sea más visual, comprensible y más fácil de editar. Por ejemplo, los IDE compatibles con TypeScript podrán resaltar inmediatamente los errores en el código JavaScript escrito sin conversiones adicionales. Además, la compatibilidad con tipos integrada permitirá ejecutar programas escritos en dialectos de JavaScript escritos, como TypeScript y Flow, sin necesidad de transpilar de un idioma a otro.

Se propone agregar sintaxis con información de tipo al lenguaje JavaScript.

Entre los tipos, se propone agregar "cadena", "número" y "booleano", que se pueden usar al definir variables, parámetros de funciones, elementos de objetos, campos de clase, matrices escritas ("número[]"). También se propone brindar soporte para tipos combinados (“cadena | número”) y genéricos. sea ​​x: cadena; función agregar(a: número, b: número) { devolver a + b; } interfaz Persona { nombre: cadena; edad: número; } función foo (x: T) { retorno x; } función foo(x: cadena | número): cadena | numero { if (tipo de x === numero) { devolver x + 1 } else { devolver x + "!" } }

Fuente: opennet.ru

Compre alojamiento confiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra alojamiento web fiable con protección DDoS, servidores VPS VDS | ProHoster