Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

189
Vistas
¿Cuáles son los métodos alternativos para el encadenamiento opcional del lado izquierdo en Javascript?

Dado que en Javascript el encadenamiento opcional en el lado izquierdo de una tarea no es posible, como se indica en esta pregunta y respuesta , ¿cuáles son algunos métodos alternativos posibles para lograr esto?

 customer.details?.car = { make: 'Toyta' }
  1. Sé que puedes hacer eso con un if

     if (customer.details) { customer.details.car = { make: 'Toyota' }; } else { customer.details = { car: { make: 'Toyota' } }; }
  2. Probé con OR lógico || pero no estoy seguro de que sea posible y lo siguiente no es correcto

     customer.(details || {}).car = { make: 'Toyota' };
  3. Ternario con trabajos extendidos (con ayuda de @garrettmills)

     customer.details = customer.details ? { ...customer.details, car: { make: 'Toyota' } } : { details: { car: { make: 'Toyota' } } };

¿Hay otros métodos?

about 4 years ago · Santiago Gelvez
2 Respuestas
Responde la pregunta

0

¿Está buscando una asignación lógica nula , la forma abreviada de x = x ?? y :

 (customer.details ??= {}).car = { make: 'Toyota' };

También funciona bien con el encadenamiento, por ejemplo

 ((customer.details ??= {}).car ??= {}).make = 'Toyota';
about 4 years ago · Santiago Gelvez Denunciar

0

Yo prefiero:

 customer.details = { ...(customer.details || {}), car: { make: 'toyota' }, }

ya que implica que está "superponiendo" detalles con una nueva propiedad.

Vale la pena señalar que su ejemplo (3) no parece funcionar del todo bien. Si el cliente ya tiene un campo de detalles, todo el registro del cliente se reemplazará con { details: { car: ... } } .

about 4 years ago · Santiago Gelvez Denunciar
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 Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda