Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

288
Visualizações
¿Cómo es exactamente pasar por valor y pasar por trabajo de referencia en javascript?

He estado leyendo sobre pasar por valor vs pasar por referencia en javascript y leí que JavaScript siempre pasa por valor, solo con tipos no primitivos, el valor es una dirección en la memoria. Pero, ¿no es este el caso también con los tipos primitivos? ¿Los tipos primitivos no se almacenan también en la memoria y las variables asignadas a ellos también deben señalar su ubicación? Usaré esta tabla para tratar de explicar lo que estoy diciendo.

Variable Dirección Valor
a 0x01 10
b 0x02 10
C 0x03 [1, 2]
d 0x03 [1, 2]

Cuando la variable 'b' se asigna al valor de 'a' (b=a), el valor en la dirección de 'a' (10) se copia y esta copia se coloca en una ubicación diferente en la memoria con la nueva dirección siendo asignado a 'b'?

Cuando d = c, en lugar de hacer una copia del valor en la dirección de 'c', a la variable d se le da la misma dirección que c; ahora ambas apuntan a la misma ubicación en la memoria que almacena la matriz [1, 2 ]?

¿La tabla es exacta o...?

Gracias.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Cuando declara variables, el motor de JavaScript les asigna la memoria en dos ubicaciones de memoria: stack y heap .

Los datos estáticos son los datos cuyo tamaño se fija en el momento de la compilación. Los datos estáticos incluyen:

  • Valores primitivos (nulo, indefinido, booleano, número, cadena, símbolo y BigInt)
  • Valores de referencia que hacen referencia a objetos.

Debido a que los datos estáticos tienen un tamaño que no cambia, el motor de JavaScript asigna una cantidad fija de espacio de memoria a los datos estáticos y los almacena en la pila.

Por ejemplo, lo siguiente declara dos variables e inicializa sus valores en una cadena literal y un número:

 let name = 'John'; let age = 25;

Debido a que el nombre y la edad son valores primitivos, el motor de JavaScript almacena estas variables en la pila, como se muestra en la siguiente imagen: ingrese la descripción de la imagen aquí

A diferencia de la pila, JavaScript almacena objetos (y funciones) en el montón. El motor de JavaScript no asigna una cantidad fija de memoria para estos objetos. En cambio, asignará más espacio según sea necesario.

El siguiente ejemplo define las variables de nombre, edad y persona:

 let name = 'John'; let age = 25; let person = { name: 'John', age: 25, };

ingrese la descripción de la imagen aquí

En esta imagen, JavaScript asigna memoria en la pila para las tres variables nombre, edad y persona.

El motor de JavaScript crea un nuevo objeto en la memoria del montón. Además, vincula la variable persona en la memoria de la pila con el objeto en la memoria del montón.

Por eso decimos que la variable persona es una referencia que se refiere a un objeto.

Por favor verifique aquí para más detalles

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda