• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Pruebas Online
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

252
Vistas
defina la variable javascript como un puntero, cuando cambie el puntero, ¿cambió el objetivo?

Me encontré con un código cableado cuando estaba aprendiendo el seguimiento de dependencias de Vue:

 function convert(obj) { Object.keys(obj).forEach(key => { let internalValue = obj[key] Object.defineProperty(obj, key, { get() { console.log(`getting key "${key}": ${internalValue}`) return internalValue }, set(newValue) { console.log(`setting key "${key}" to: ${newValue}`) internalValue = newValue console.log(obj); } }) }) return obj } // test let o = {a: 'hello',b:'world'}; let convO = convert(o); convO.b = 'javascript'; // in normal condition, change a pointer won't change the target: let p = o['b']; p = 'woola' console.log('normal condition', o);

Dentro de la función de devolución de llamada forEach , primero definimos una variable internalValue como un puntero, que apunta a obj[key] . En segundo lugar, cambiamos ese puntero. ¿Por qué el objetivo puntiagudo está mutado? No tiene ningún sentido.

almost 3 years ago · Juan Pablo Isaza
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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda