DEV Community

Cristian Fernando
Cristian Fernando

Posted on

 

Paracetamol.js馃拪| #201: Explica este c贸digo JavaScript

Explica este c贸digo JavaScript

Dificultad: Intermedio

const fn = (obj) => {
  obj.nombre ??= "invitado";
  obj.edad ??= 0;
  obj.peso ??= 0;
  return obj;
}

console.log(fn({edad:18}))

Enter fullscreen mode Exit fullscreen mode

A. { edad:18, nombre:invitado, peso:0 }
B. { edad:18 }
C. SyntaxisError
D. Ninguna de las anteriores

Respuesta en el primer comentario.


Respuesta:
A. { edad:18, nombre:invitado, peso:0 }

Usamos el operador ??= denominado nullish coalescing assignment verifica que el operando de la izquierda es undefined o null, si se cumple el caso, asigna el operando de la derecha a la declaraci贸n; caso contrario significa que la expresi贸n tiene un valor diferente de undefined o null entonces se queda con dicho valor.

En el ejemplo, pasamos un objeto {edad:18} a la funci贸n, entonces tanto nombre como peso tienen valores undefined y se realiza la asignaci贸n.

Top comments (0)

11 Tips That Make You a Better Typescript Programmer

typescript

1 Think in {Set}

Type is an everyday concept to programmers, but it鈥檚 surprisingly difficult to define it succinctly. I find it helpful to use Set as a conceptual model instead.

#2 Understand declared type and narrowed type

One extremely powerful typescript feature is automatic type narrowing based on control flow. This means a variable has two types associated with it at any specific point of code location: a declaration type and a narrowed type.

#3 Use discriminated union instead of optional fields

...

Read the whole post now!