bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/JavaScript/JavaScript Foundations
JavaScript•JavaScript Foundations

JavaScript Logical Operators

Flash cards

Review the key moves

1/4
Core idea

What is the main idea behind JavaScript Logical Operators?

Lesson checks

Practice each idea before moving on

Short Mimo-style checks built from this lesson's code, terms, and sequence.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

___ z = (x < 10 && y > 1)
3Order

Put the learning moves in the order that makes the concept easiest to apply.

JavaScript Logical OR
JavaScript Logical AND
JavaScript Logical Operators

Logical Operators

Logical operators are used to combine boolean expressions .

Logical operators can be used to modify the results of comparisons.

Typically, you will use a comparison operator to check a condition, and a logical operator to combine conditions into more complex logic.

JavaScript Logical Operators

Logical operators are used to determine the logic between variables or values.

Given that x = 6 and y = 3 , the table below explains the logical operators:

OperNameExample
&&AND(x < 10 && y > 1) is true
OR(x === 5y === 5) is false
!NOT!(x === y) is true

JavaScript Logical AND

The && operator returns true if both expressions are true , otherwise false :

Example

let x = 6;
let y = 3;
let z = (x < 10 && y > 1)

JavaScript Logical OR

The || operator returns true if one or both expressions are true , otherwise false :

Example

let x = 6;
let y = -3;
let z = (x > 0 || y > 0)

JavaScript Logical NOT

The NOT operator (!) returns true for false expressions and false for true expressions .

Example

let x = (5 == 8);
let y = !(5 == 8)

The Nullish Coalescing Operator (??)

The ?? operator returns the right operand when the left operand is nullish ( null or undefined ), otherwise it returns the left operand.

Example

let name = null;
let text = "missing";
let result = name ?? text;

When programming, a lot of values can be falsey (like 0, empty strings, false, undefined, null, NaN).

However, sometimes you want to check if a variable is nullish (either undefined or null ), like when it is okay for a variable to be an empty string, or a false value. Then you can use the nullish coalescing operator .

Browser Support

?? is an ES2020 feature.

ES2020 is fully supported in all modern browsers since September 2020 :

Chrome 85Edge 85Firefox 79Safari 14Opera 71
Aug 2020Aug 2020Mar 2020Sep 2020Sep 2020

See Also

JavaScript Comparisons .

Previous

JavaScript Const

Next

JavaScript Control Flow