Por ejemplo, tengo un objeto como este:
const a = { b: "value" // and also what about: c: '', or c: 0, c: false ? };Y me gustaría asignar una clave 'c' a mi objeto, pero solo si no se asignó antes.
Por lo general, hacemos algo como esto:
if (!ac) { ac = 1; // or without { } for a bit shorty way. } Pero los estándares ES12 introducen un poco más de nuevos operadores lógicos y coalescentes Nullish, así que alguien puede explicarme cómo me ayuda a reemplazar el ejemplo anterior y qué pasa con null y 0 como un comportamiento numérico (la cadena vacía y el comportamiento false también son una ventaja )?
La verdadera pregunta detrás de esto es: ¿el uso de esta nueva función realmente podría cubrir todos los casos y reemplazar el ejemplo anterior en proyectos de producción real, o es mejor permanecer en una forma más tradicional? (Por supuesto, todo se trata del personal de azúcar de sintaxis, pero me gustaría saber más sobre la cobertura)
La asignación lógica nula ??= asigna el valor solo si el valor del lado izquierdo no está undefined o es null .
ac ??= 1; Si desea reemplazar cualquier valor falso , como '' , 0 , false , null , undefined , puede tomar la asignación OR lógica ||= .
ac ||= 1;