Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

278
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!