Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

202
Vistas
¿Por qué la cadena es una primitiva en JavaScript?

Hasta donde sé, los objetos pueden ser de cualquier tamaño, por lo que nunca se sabe qué tan grande será un objeto. Por lo tanto, se implementó como un tipo de referencia. A diferencia de cualquier tipo primitivo cuyo tamaño conoces de antemano. Eso es lo que dice este artículo . Pero cadenas... de otro artículo:

Cadena: un conjunto de "elementos" de valores enteros sin signo de 16 bits. Debido a que la cadena no es un valor fijo, la variable asignada a una cadena no contiene la cadena sino la referencia a ella.

Pero, ¿cómo es entonces una cadena de un tipo primitivo?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Ese libro que estás leyendo es raro.

Un tipo primitivo tiene un tamaño fijo en la memoria. Por ejemplo, un número ocupa ocho bytes de memoria y un valor booleano se puede representar con solo un bit. El tipo de número es el más grande de los tipos primitivos. Si cada variable de JavaScript reserva ocho bytes de memoria, la variable puede contener directamente cualquier valor primitivo.

Sin embargo, los tipos de referencia son otra cuestión. Los objetos, por ejemplo, pueden tener cualquier longitud, no tienen un tamaño fijo. Lo mismo ocurre con los arreglos: un arreglo puede tener cualquier número de elementos. De manera similar, una función puede contener cualquier cantidad de código JavaScript. Dado que estos tipos no tienen un tamaño fijo, sus valores no se pueden almacenar directamente en los ocho bytes de memoria asociados a cada variable. En cambio, la variable almacena una referencia al valor. Normalmente, esta referencia es algún tipo de puntero o dirección de memoria. No es el valor de los datos en sí mismo, pero le dice a la variable dónde buscar para encontrar el valor.

Y luego el autor continúa explicando cómo esto causa un comportamiento diferente, como si fuera un efecto del diseño de la memoria. Pero lo entendieron al revés. La distinción debe ser:

  • un tipo primitivo tiene valores simples e inmutables, que se copiarán por valor cuando se pasen.
  • un tipo de referencia, sinónimo de "el tipo de objeto", tiene objetos mutables como valores, que tienen una identidad (creada cuando se crea una instancia del objeto) y pueden tener propiedades modificables arbitrarias. Una variable nunca contiene "un objeto" en sí mismo, sino una referencia a él, y es esta referencia la que se copia cuando la pasas.

Eso (y "las matrices y funciones son objetos") es la esencia del modelo de valor de JavaScript. Cómo se implementa esto realmente no importa; de hecho, difiere de un motor a otro.

Ahora, cuando pregunta " ¿Por qué la cadena es un primitivo? ", La respuesta es "porque las cadenas son valores inmutables y no tienen propiedades".

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda