DEV Community

Cover image for Mastering the Mysteries of JavaScript Syntax: Discover the Secrets Behind These Symbols
Hoài Nhớ ( Nick )
Hoài Nhớ ( Nick )

Posted on

Mastering the Mysteries of JavaScript Syntax: Discover the Secrets Behind These Symbols

JavaScript has a rich set of operators that make it both powerful and versatile. Some of these operators are well known, while others may be new or lesser-used. Explaining what they are, how to use them, and why they are essential.

Javascript

1. ?= (Safe Assignment Operator)

What is It?

The safe assignment operator ?= assigns a value only if the variable is null or undefined.

How to Use It?

let x;
x ?= 10;
console.log(x); // Output: 10 (since x was undefined)
Enter fullscreen mode Exit fullscreen mode

Why Use It?

This operator avoids unnecessary overwriting of variables that already hold a valid value.

Best Practice

Use ?= when you want to safely assign default values without overwriting existing ones.

2. ??= (Nullish Assignment Operator)

What is It?

The assignment operator = assigns a value to a variable.

How to Use It?

let z = null;
z ??= 15;
console.log(z); // Output: 15 (since z was null)
Enter fullscreen mode Exit fullscreen mode

Why Use It?

It ensures that you only assign a value when the variable is nullish, avoiding the pitfalls of falsy values like 0 or “”.

Best Practice

Use ??= when you want to set a fallback value for a potentially null or undefined variable.

3. &= (Bitwise AND Assignment Operator)

What is It?

The &= operator performs a bitwise AND operation and assigns the result back to the variable.

How to Use It?

let num = 5;  // (101 in binary)
num &= 3;     // (011 in binary)
console.log(num); // Output: 1 (bitwise AND result)
Enter fullscreen mode Exit fullscreen mode

Why Use It?

Bitwise operations are fast and useful in low-level programming, for tasks like managing flags or working with binary data.

Best Practice

Use &= for bitwise operations only when necessary, typically in performance-sensitive environments.

4. ~~ (Double NOT Bitwise Operator)

What is It?

The ~~ operator is a shorthand for converting a floating-point number to an integer.

How to Use It?

let decimal = 4.8;
let integer = ~~decimal;
console.log(integer); // Output: 4
Enter fullscreen mode Exit fullscreen mode

Why Use It?

It’s a faster alternative to Math.floor() when you need to truncate a number without rounding.

Best Practice

Use ~~ when you need a quick and efficient way to truncate numbers, particularly in performance-critical code.

5. |= (Bitwise OR Assignment Operator)

What is It?

The |= operator performs a bitwise OR operation and assigns the result to the variable.

How to Use It?

let a = 5;  // (101 in binary)
a |= 3;     // (011 in binary)
console.log(a); // Output: 7 (bitwise OR result)
Enter fullscreen mode Exit fullscreen mode

Why Use It?

It’s useful when manipulating bits in low-level tasks like flag management.

Best Practice

Use |= in performance-critical applications that require binary operations.

6. ||= (Logical OR Assignment Operator)

What is It?

The ||= operator assigns a value to a variable only if the existing value is falsy (like null, 0, false).

How to Use It?

let b = 0;
b ||= 10;
console.log(b); // Output: 10 (since b was falsy)
Enter fullscreen mode Exit fullscreen mode

Why Use It?

It simplifies assigning fallback values without using long if conditions.

Best Practice

Use ||= for assigning defaults to variables that may have falsy values, enhancing readability.


© 2024 HoaiNho — Nick, Software Engineer. All rights reserved.

Top comments (0)