¿Es posible cambiar el valor de la variable con una función como el ejemplo a continuación? Cada vez que cambio el valor del parámetro pasado, el valor original no cambia. ¿Por qué está pasando esto?
let b = 3; function t(n) { n = 5; } t(b) console.log(b) // still 3Sé que esto se puede hacer así, pero me pregunto por qué el ejemplo anterior no funcionará.
let b = 3; function t() { return 5; } b = t(); console.log(b)Pasar valores escalares a la función los pasará por valor, no por referencia.
Una solución sería pasarlo como objeto:
let b = {value: 3}; function t(n) { n.value = 5; } t(b); console.log(b.value);