postimage

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.