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

236
Vistas
¿Hay una asignación nula lógica inversa?

Entonces, el operador ??= asigna el valor a la variable solo si el valor almacenado actual es nulo.

Tal vez me estoy perdiendo lo obvio, pero no puedo pensar en una solución ingeniosa (sin declaraciones if) para asignar solo si el valor no es nulo .

Estoy usando nodeJS para dar un poco más de contexto .


Quiero

 let xr??= 2; // Updates 'x' to hold this new value xr??= undefined; // Has no effect, since the value to assign is nullish console.log(x); // 2

EDITAR para dar más claridad a mi problema:

Solo quiero que a una variable se le asigne un nuevo valor , si ese nuevo valor no es nulo.

 let iceCream = { flavor: 'chocolate' } const foo = 2.5 const bar = undefined; iceCream.price r??= bar // does not assign the new value because it is nullish console.log(iceCream.price) // expected to be error, no such property iceCream.price r??= foo // assigns the new value because it is not nullish but a float console.log(iceCream.price) // expected to be 2.5 iceCream.price r??= bar // does not assign the new value because it is nullish console.log(iceCream.price) // expected to still be 2.5
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

No, eso no es un solo operador. Lo más cercano son dos operadores:

 x = undefined ?? x;
about 4 years ago · Juan Pablo Isaza Denunciar

0

Agregar otra respuesta después de la aclaración, ya que editar la anterior parecía extraño.

La forma más sencilla en que puedo pensar en una solución sin si es la siguiente:

 let iceCream = { flavor: 'chocolate' } const foo = 2.5 const bar = undefined; bar && (iceCream.price = bar) // Another possible solution if creating the property with a nullish value is ok for you: iceCream.price = bar || iceCream.price;
about 4 years ago · Juan Pablo Isaza Denunciar

0

Podría usar la asignación lógica AND .

De los documentos web de MDN:

 let a = 1; let b = 0; a &&= 2; console.log(a); // expected output: 2 b &&= 2; console.log(b); // expected output: 0
about 4 years ago · Juan Pablo Isaza 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