Operátoři logického přiřazení

Miluji JavaScript, je to můj oblíbený programovací jazyk, ale rád se ponořím do jiných jazyků, protože nabízejí nový pohled na paradigmata kódování. Do JavaScriptu byly přidány syntaxe, o kterých jsem viděl, že mě zaujaly (například ?? ve volitelném řetězení) a nyní získáme další -- logické operátory přiřazení. Pojďme se podívat, jak je lze použít!

||=

Or-Or-Equals se používá k přiřazení hodnoty, když žádná neexistuje:

let name;
const defaultName = "Guest";

name ||= defaultName;
// name >> "Guest"

// Equivalent: name || (name = defaultName);

??=

Question-Question-Equals přiřadí hodnotu, když hodnota není definována:

const j = 1;
j??= 10
// j >> 1

x = undefined;
x ??= 10
// x >> 10

&&=

And-And-Equals přiřadí hodnotu poslední v řadě, když jsou obě definovány:

let name;
const defaultName = "Guest";

name &&= defaultName;
name >> undefined

// Both have values
let name = "David";
const defaultName = "Guest";

name &&= defaultName;
// name >> "Guest"

// Equivalent: name && (name = defaultName);

Obávám se, alespoň z krátkodobého hlediska, že tato nová syntaxe může být obtížně udržovatelná, ale stejně jako na každou jinou novou jazykovou funkci si na ni zvykneme!