La propuesta de ECMA traería registros y tuplas a JavaScript

JavaScript obtendría tipos de valor de registro y tupla bajo una propuesta ante ECMA International, el organismo de estándares que supervisa el lenguaje de programación popular para el desarrollo web.

Los registros y las tuplas introducirían dos estructuras de datos profundamente inmutables a JavaScript: Record, una estructura similar a un objeto, y Tuple, una estructura tipo matriz. UNA borrador del plan con el Comité Técnico 39 de ECMA, que gobierna ECMAScript, el JavaScript subyacente estándar.

Los registros y las tuplas, según la propuesta, solo pueden contener primitivas y otros registros y tuplas. Pueden considerarse como «primitivas compuestas». Y al estar completamente basados ​​en primitivas, son profundamente inmutables. Al igual que los objetos y las matrices, los registros y las tuplas admiten modismos cómodos para la construcción, el uso y la manipulación, afirma la propuesta. Se comparan por contenido más que por identidad.

Los motores de JavaScript pueden realizar ciertas optimizaciones en la construcción, manipulación y comparación de registros y tuplas, de forma análoga a cómo se implementan las cadenas. Los registros y las tuplas están destinados a ser utilizables y entendidos con superconjuntos de sistemas de tipos externos como TypeScript o Flow.

Actualmente, las bibliotecas de usuarios como immutable.js implementan conceptos similares. UNA propuesta previa de ECMA para estructuras de datos inmutables se intentó pero se abandonó debido a la complejidad y la falta de casos de uso suficientes, según la propuesta. La nueva propuesta introduce cambios significativos, ofreciendo ventajas de usabilidad sobre las bibliotecas de usuarios como las siguientes:

  • Los registros y las tuplas son fácilmente introspectables en un depurador.
  • No se necesita ramificación adicional para escribir una biblioteca genérica que consuma objetos inmutables y JS.
  • Se evitan los casos de uso donde los desarrolladores pueden convertir costosamente entre objetos JS regulares y estructuras inmutables.

Los registros y las tuplas interactúan bien con objetos y matrices. Se pueden leer de la misma manera que los objetos y las matrices. La diferencia clave se centra en la inmutabilidad profunda y la comparación por valor en lugar de identidad. Además, la sintaxis propuesta mejora significativamente la ergonomía del uso Record y Tuple en codigo.

La versión más reciente de Especificación ECMAScript, versión 2020, fue adoptado en junio. Presentaba capacidades en áreas como la carga de módulos y un nuevo BigInt tipo.

Copyright © 2020 IDG Communications, Inc.

Source link

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *