Saltar al contenido principal

3 publicaciones etiquetados con "Entendiendo ECMAScript"

Ver Todas las Etiquetas

Entendiendo la especificación ECMAScript, parte 3

· 13 min de lectura
[Marja Hölttä](https://twitter.com/marjakh), espectadora especulativa de especificaciones

Todos los episodios

En este episodio, profundizaremos en la definición del lenguaje ECMAScript y su sintaxis. Si no estás familiarizado con las gramáticas libres de contexto, ahora es un buen momento para revisar los conceptos básicos, ya que la especificación utiliza gramáticas libres de contexto para definir el lenguaje. Consulta el capítulo sobre gramáticas libres de contexto en "Crafting Interpreters" para una introducción accesible o la página de Wikipedia para una definición más matemática.

Entendiendo la especificación de ECMAScript, parte 2

· 11 min de lectura
[Marja Hölttä](https://twitter.com/marjakh), espectadora especulativa de especificaciones

Practiquemos un poco más nuestras increíbles habilidades para leer especificaciones. ¡Si todavía no has visto el episodio anterior, ahora es un buen momento para hacerlo!

Todos los episodios

¿Listo para la parte 2?

Una forma divertida de conocer la especificación es comenzar con una característica de JavaScript que sabemos que existe y averiguar cómo está especificada.

¡Advertencia! Este episodio contiene algoritmos copiados de la especificación ECMAScript de febrero de 2020. Eventualmente estarán desactualizados.

Sabemos que las propiedades se buscan en la cadena de prototipos: si un objeto no tiene la propiedad que intentamos leer, subimos por la cadena de prototipos hasta encontrarla (o encontramos un objeto que ya no tiene prototipo).

Por ejemplo:

const o1 = { foo: 99 };
const o2 = {};
Object.setPrototypeOf(o2, o1);
o2.foo;
// → 99

¿Dónde está definida la cadena de prototipos?

Intentemos averiguar dónde se define este comportamiento. Un buen lugar para comenzar es una lista de Métodos Internos de Objetos.

Existen tanto [[GetOwnProperty]] como [[Get]] — estamos interesados en la versión que no está restringida a propiedades propias, así que iremos con [[Get]].

Desafortunadamente, el tipo de especificación Descriptor de Propiedades también tiene un campo llamado [[Get]], así que mientras navegamos por la especificación en busca de [[Get]], debemos distinguir cuidadosamente entre los dos usos independientes.

Entendiendo la especificación ECMAScript, parte 1

· 10 min de lectura
[Marja Hölttä](https://twitter.com/marjakh), espectadora de especificaciones especulativas

Todos los episodios

En este artículo, tomamos una función simple de la especificación y tratamos de entender la notación. ¡Vamos allá!

Prefacio

Incluso si conoces JavaScript, leer la especificación del lenguaje, Especificación del lenguaje ECMAScript, o simplemente la especificación ECMAScript, puede ser bastante desalentador. Al menos así me sentí cuando la leí por primera vez.