Valores primitivos y referencias de ECMAScript
- Página anterior Palabras reservadas ECMAScript
- Página siguiente Tipos primitivos ECMAScript
En ECMAScript, las variables pueden tener dos tipos de valores, es decir, valores primitivos y valores de referencia.
Valores primitivos y de referencia
En ECMAScript, las variables pueden tener dos tipos de valores, es decir, valores primitivos y valores de referencia.
- Valores primitivos
- Segmentos de datos simples almacenados en la pila (stack), es decir, sus valores se almacenan directamente en la posición de acceso de la variable.
- Valores de referencia
- Objetos almacenados en la pila (heap), es decir, el valor almacenado en la variable es un puntero (point), que apunta al lugar de almacenamiento del objeto en la memoria.
Al asignar valores a variables, el intérprete de ECMAScript debe determinar si el valor es de tipo primitivo o de tipo de referencia. Para lograr esto, el intérprete debe intentar determinar¿Es el valor uno de los tipos primitivos de ECMAScript?es decir, Undefined, Null, Boolean, Number y String. Dado que estos tipos primitivos ocupan un espacio fijo, se pueden almacenar en una área de memoria más pequeña - la pila. Este almacenamiento facilita la búsqueda rápida de valores de variables.
En muchos lenguajes, las cadenas se consideran tipos de referencia, no primitivos, ya que la longitud de las cadenas es variable. ECMAScript rompe con esta tradición.
Si un valor es de tipo de referencia, su espacio de almacenamiento se asignará desde la pila. Dado que el tamaño de los valores de referencia puede cambiar, no se puede almacenar en la pila, de lo contrario se reduciría la velocidad de búsqueda de variables. Por el contrario, el valor almacenado en el espacio de la pila de la variable es la dirección de almacenamiento del objeto en la pila. El tamaño de la dirección es fijo, por lo que no tiene ningún impacto negativo en el rendimiento de las variables al almacenarlo en la pila. Como se muestra en la siguiente imagen:

Tipos primitivos
Como se mencionó anteriormente, ECMAScript tiene 5 tipos primitivos (primitive type), es decir, Undefined, Null, Boolean, Number y String. ECMA-262 define el términoTipo (type)Definido como un conjunto de valores, cada tipo primitivo define el rango de valores que contiene y la forma literal de representación.
ECMAScript proporciona el operador typeof para determinar si un valor pertenece a un rango de tipos determinado. Se puede usar este operador para determinar si un valor representa un tipo primitivo: si es un tipo primitivo, también se puede determinar qué tipo primitivo representa.
En los capítulos posteriores, profundizaremos en los tipos primitivos y de referencia de ECMAScript.
- Página anterior Palabras reservadas ECMAScript
- Página siguiente Tipos primitivos ECMAScript