Saltar al contenido principal

39 publicaciones etiquetados con "ECMAScript"

Ver Todas las Etiquetas

Bloques de inicialización estática de clases

· 2 min de lectura
Shu-yu Guo ([@_shu](https://twitter.com/_shu))

La nueva sintaxis del bloque de inicialización estática de clases permite a los desarrolladores reunir el código que debe ejecutarse una vez para una definición de clase dada y colocarlo en un solo lugar. Considere el siguiente ejemplo, donde un generador de números pseudoaleatorios utiliza un bloque estático para inicializar un grupo de entropía una vez, cuando se evalúa la definición de class MyPRNG.

Índices de coincidencia de RegExp

· 5 min de lectura
Maya Armyanova ([@Zmayski](https://twitter.com/Zmayski)), expresando nuevas características regularmente

JavaScript ahora está equipado con una nueva mejora de expresiones regulares, llamada “índices de coincidencia”. Imagínate que quieres encontrar nombres de variables inválidos en el código JavaScript que coincidan con palabras reservadas, y mostrar un símbolo de intercalación y una “línea de subrayado” debajo del nombre de la variable, como:

`String.prototype.replaceAll`

· 4 min de lectura
Mathias Bynens ([@mathias](https://twitter.com/mathias))

Si alguna vez has trabajado con cadenas en JavaScript, es probable que te hayas encontrado con el método String#replace. String.prototype.replace(searchValue, replacement) devuelve una cadena con algunas coincidencias reemplazadas, basándose en los parámetros que especifiques:

`await` de nivel superior

· 5 min de lectura
Myles Borins ([@MylesBorins](https://twitter.com/MylesBorins))

await de nivel superior permite a los desarrolladores usar la palabra clave await fuera de las funciones async. Actúa como una gran función async que hace que otros módulos que los import esperen antes de comenzar a evaluar su contenido.

Coalescencia nula

· 7 min de lectura
Justin Ridgewell

La propuesta de coalescencia nula (??) agrega un nuevo operador de cortocircuito destinado a manejar valores predeterminados.

Probablemente ya estés familiarizado con los otros operadores de cortocircuito && y ||. Ambos operadores manejan valores “truthy” y “falsy”. Imagina el ejemplo de código lhs && rhs. Si lhs (lado izquierdo) es falsy, la expresión se evalúa como lhs. De lo contrario, se evalúa como rhs (lado derecho). Lo opuesto ocurre con el ejemplo de código lhs || rhs. Si lhs es truthy, la expresión se evalúa como lhs. De lo contrario, se evalúa como rhs.

Encadenamiento opcional

· 5 min de lectura
Maya Armyanova ([@Zmayski](https://twitter.com/Zmayski)), rompedora de cadenas opcionales

Las cadenas largas de accesos a propiedades en JavaScript pueden ser propensas a errores, ya que cualquiera de ellas podría evaluarse como null o undefined (también conocidos como valores “nulos”). Verificar la existencia de propiedades en cada paso fácilmente se convierte en una estructura profundamente anidada de sentencias if o en una larga condición if que replica la cadena de acceso a propiedades:

`globalThis`

· 2 min de lectura
Mathias Bynens ([@mathias](https://twitter.com/mathias))

Si has escrito JavaScript para usar en un navegador web antes, es posible que hayas usado window para acceder al this global. En Node.js, quizás hayas usado global. Si has escrito código que debe funcionar en cualquiera de estos entornos, quizás detectaste cuál de estos está disponible y luego lo usaste, pero la lista de identificadores a verificar crece con el número de entornos y casos de uso que deseas admitir. Esto se sale de control rápidamente: