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

194
Views
¿Cómo crear propiedades anidadas en un objeto de ventana en una línea solo si no existen con JavaScript?

Me gustaría crear propiedades anidadas en el objeto de la ventana en una línea si es posible, y solo si no existen.

¿Hay una manera de simplemente esto?

 window.level1 = window.level1 || {} window.level1.level2 = window.level1.level2 || {}

windows.level1 puede contener datos en ciertas condiciones, por lo que no se puede sobrescribir.

Intenté algo como lo siguiente, pero aún arroja Uncaught TypeError: Cannot read properties of undefined (reading 'level2')

 window.level1.level2 = (window.level1 || {}).level2 || {}

¿Es esto posible en absoluto en una línea? ¿Si es así, cómo? Y si hay una solución, sería genial que también funcionara en navegadores antiguos.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Necesitarás diferentes anidamientos:

 ((window.level1 = window.level1 || {}).level2 = window.level1.level2 || {}).level3 = …;

o usar una asignación nula para abreviar (y no volver a escribir los valores existentes en la propiedad):

 ((window.level1 ??= {}).level2 ??= {}).level3 = …;
about 4 years ago · Juan Pablo Isaza Report

0

Pruebe este enfoque:

 window.level1 = window.level1 ? window.level1.level2 ??= {} : { level2: {} }; console.log(window.level1);
 .as-console-wrapper{min-height: 100%!important; top: 0}

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!