Czy wiesz, że w ES2021 zostały wprowadzone operatory logicznego przypisania oraz nullish coalescing?

Wersja 12 EcmaScript wprowadzona w czerwcu 2021 roku wprowadziła ciekawe, choć dość egzotycznie wyglądające operatory przypisania. Są nimi &&=
, ||=
, oraz ??=
. Przyjrzyjmy się, jak działają:
Logical AND assignment (&&=)
Ten operator dokona przypisania tylko, jeśli zmienna, do której chcemy dokonać przypisania jest “prawdziwa” (ang. truthy).
let truthy = 1;
let falsy = 0;
truthy &&= 10;
falsy &&= 10;
// Wynik:
// truthy === 10
// falsy === 0
Logical OR assignment (||=)
Ten operator dokona przypisania tylko, jeśli zmienna, do której chcemy dokonać przypisania jest “nieprawdziwa” (ang. falsy).
let truthy = 1;
let falsy = 0;
truthy ||= 10;
falsy ||= 10;
// Wynik:
// truthy === 1
// falsy === 10
Logical nullish assignment (??=)
Ten operator dokona przypisania tylko, jeśli zmienna, do której chcemy dokonać przypisania jest null
bądź undefined
.
let nullish = undefined;
let notNullish = "jestem stringiem";
nullish ??= 10;
notNullish ??= 10;
// Wynik:
// nullish === 10
// notNullish === "jestem stringiem"
💡 "Czy wiesz, że?" to wewnątrzfirmowa inicjatywa, której celem jest szerzenie ciekawostek
z różnych obszarów IT. Najlepsze z nich trafiają na bloga dla szerszego grona odbiorców.