"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Valores de JavaScript vs referencia

Valores de JavaScript vs referencia

Publicado el 2024-07-31
Navegar:558

JavaScript values vs reference

Comprender cómo se mantienen las variables en JavaScript: como valores o referencias

En JavaScript, o más bien en programación, una variable es una ubicación en la memoria de una computadora que se utiliza para almacenar datos. Las variables se declaran (se les da un nombre, un identificador) y se les puede asignar un valor inmediatamente o más tarde, según el idioma. Luego se puede hacer referencia a esta variable más adelante en el programa en lugar de indicar explícitamente el mismo valor una y otra vez.

En JavaScript, los datos se transmiten en forma de valores, estos valores pueden ser valores primitivos u objetos. Como desarrollador de JavaScript, comprender cómo JavaScript maneja los datos es crucial para tener conocimientos básicos sólidos en el lenguaje.

Los valores primitivos incluyen:

  • instrumentos de cuerda.
  • números.
  • booleanos.
  • Empezando.
  • Símbolo.
  • Indefinido.

Los valores de objeto, por otro lado, son:

  • matrices.
  • funciones.
  • objetos.

Estos tipos de valores se comportan de manera diferente cuando se pasan, considere el siguiente fragmento:

var miNombre = "Fred";
var otroNombre = miNombre;
miNombre = "Ashley";
console.log(miNombre); //Ashley
console.log(otroNombre); //Fred

Observe que otroNombre permaneció igual aunque parezca una "copia" de miNombre. En realidad, lo que realmente sucedió es que cuando a otro nombre se le asignó miNombre, no se asignó como una copia de la cadena "Fred", sino que se creó una nueva cadena "Fred". Por tanto, no existe un vínculo directo entre miNombre y otroNombre. Así es como JavaScript transmite valores primitivos.

Los valores de los objetos se manejan de manera diferente; eche un vistazo al siguiente fragmento:

var myObj = {color: "rojo"};
var otroObj = miObj;
myObj.color = "azul";
console.log(myObj.color); //azul
console.log(otroObj.color); //azul

Aquí, se creó un objeto y se asignó a myObj, que luego se asignó a otherObj. Vea cómo se cambiaron las propiedades de color de otherObj y myObj simplemente cambiando la propiedad de color de myObj. Esto se debe a que los valores de los objetos se pasan como referencias. myObj no se refiere directamente al objeto, sino que apunta a su referencia, luego a otherObj se le asigna myObj, que es una referencia al objeto real. Por tanto, ambas variables están vinculadas al mismo objeto porque apuntan a la misma referencia, un cambio en una afecta a la otra.

Esta es la razón por la que la comparación (===) de dos objetos devuelve directamente falso, literalmente estás comparando dos referencias diferentes. Aquí, myObj === otherObj devuelve verdadero porque estamos comparando las mismas referencias.

Espero que esto te brinde una nueva perspectiva de cómo funciona JavaScript detrás de escena.

Hasta entonces, mantente libre de errores.

Declaración de liberación Este artículo se reproduce en: https://dev.to/js_cipher/javascript-values-vs-reference-1ao5?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3