ECMAScript 2023 ahora ha sido aprobado por ECMA International . ECMAScript, el lenguaje JavaScript estandarizado, se publicó por primera vez en 1997 y ha crecido hasta convertirse en uno de los lenguajes de programación de propósito general más utilizados en el mundo.
Este estándar Ecma define el lenguaje ECMAScript 2023, la 14.ª edición de la especificación del lenguaje ECMAScript.
ECMAScript 2023, 14.ª edición, presenta los métodos , , y en
Array.prototype
y superiores ; agrega soporte para comentarios al principio de los archivos para facilitar mejor el ejecutable de los archivos ECMAScript; y permite usar la mayoría de los símbolos como claves .TypedArray.prototype
toSorted
toReversed
with
findLast
findLastIndex
Array.prototype
toSpliced
#!
La propuesta final, publicada en GitHub por ECMA TC39, detalla cuatro funciones que se lanzarán este año:
Array encontrar desde el último
Esta propuesta agrega métodos y métodos al Array
prototipo . Este es el mismo comportamiento que Array.prototype.find y Array.prototype.findIndex , pero iterará desde el último hasta el primeroTypedArray
findLast()
findLastIndex()
matriz const = [ { valor : 1 } , { valor : 2 } , { valor : 3 } , { valor : 4 } ] ; matriz _ encontrar ( n => n . valor % 2 === 1 ) ; // {valor: 1} matriz . findIndex ( n => n . valor % 2 === 1 ) ; // 0 // ======== Antes de la propuesta =========== // encuentra [ ... array ] . inversa ( ) . encontrar ( n => n . valor % 2 === 1 ) ; // { valor: 3 } // matriz findIndex . longitud - 1 - [ ... matriz ] . inversa ( ) . buscarÍndice ( n => n .valor % 2 === 1 ) ; // 2 matriz . longitud - 1 - [ ... matriz ] . inversa ( ) . findIndex ( n => n . valor === 42 ) ; // debe ser -1, pero 4 // ======== En la propuesta =========== // encuentra la matriz . findLast ( n => n . valor % 2 === 1 ) ; // { valor: 3 } // matriz findIndex . findLastIndex ( n => n . valor % 2 === 1 ) ; // 2 matriz . findLastIndex ( n => n . valor === 42 ) ; // -1
gramática hashbang
Un hashbang, también conocido como shebang, es una secuencia de caracteres al comienzo de un script ejecutable que define el intérprete del programa para ejecutar. Cuando el cargador de programas del kernel de Unix ejecuta un programa JavaScript, el host elimina el hashbang para generar un código fuente válido antes de pasarlo al motor. La propuesta de Hashbang Grammar estandariza cómo se hace esto.
#!/usr/bin/env node // en el objetivo del script 'use strict' ; consola _ registro ( 1 ) ;
#!/usr/bin/env node // en el Módulo Meta export { } ; consola _ registro ( 1 ) ;
Símbolos como teclas WeakMap
Esta propuesta amplía la API de WeakMap para permitir el uso de símbolos únicos como claves.
const débil = new WeakMap ( ) ; // Juego de palabras no intencionado: ser un símbolo hace que se convierta en una clave más simbólica const key = Symbol ( 'my ref' ) ; const algunObjeto = { /* datos datos datos */ } ; débil _ set ( clave , algúnObjeto ) ;
Cambiar matriz por copia
Se proporcionan métodos adicionales en y que implementan mutaciones en una matriz devolviendo una nueva copia con las mutaciones Array.prototype
.TypedArray.prototype
const secuencia = [ 1 , 2 , 3 ] ; secuencia _ al revés ( ) ; // => [3, 2, 1] secuencia ; // => [1, 2, 3] const fuera de orden = new Uint8Array ( [ 3 , 1 , 2 ] ) ; fuera de orden . aOrdenados ( ) ; // => Uint8Array [1, 2, 3] fuera de orden ; // => Uint8Array [3, 1, 2] const correcciónNecesario = [ 1 , 1 , 3 ] ; correcciónNecesaria . con ( 1 , 2 ) ; // => [1, 2, 3] correcciónNecesaria ; // => [1, 1, 3]
Para más detalles, puede ver: