Thursday, 10 September, 2020 UTC


Summary

I love JavaScript, it’s my favorite programming language, but I love dipping into other languages because they offer a new perspective on coding paradigms. There’ve been syntax additions to JavaScript that I’ve seen I found interesting (think ?? in optional chaining) and now we get more — logical assignment operators. Let’s check out how they can be used!
||=
Or-Or-Equals is used to assign a value when one doesn’t exist:
let name;
const defaultName = "Guest";

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

// Equivalent: name || (name = defaultName);
??=
Question-Question-Equals assigns value when the value is undefined:
const j = 1;
j??= 10
// j >> 1

x = undefined;
x ??= 10
// x >> 10
&&=
And-And-Equals assigns value to the last in line when both are defined:
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);
I do worry, at least in the short term, that this new syntax could be hard to maintain, but just like every other new language feature, we’ll get used to it!
The post Logical Assignment Operators appeared first on David Walsh Blog.