JS Built-ins
Operatorsintermediate

Operators β€” &&=, ||=, ??= logical assignment

Logical assignment operators (ES2021)

  • a &&= b β€” assigns b only if a is truthy
  • a ||= b β€” assigns b only if a is falsy
  • a ??= b β€” assigns b only if a is null/undefined

Challenge: Write logicalAssignment() that:

  1. let a = 1; a &&= 99 β†’ return a
  2. let b = 0; b ||= 42 β†’ return b
  3. let c = null; c ??= 'hello' β†’ return c
πŸ’‘ Hints (3)
  • β€’ &&= only assigns if left side is truthy
  • β€’ ||= only assigns if left side is falsy
  • β€’ ??= only assigns if left side is null/undefined