Open Playground
JS TutorialLesson #22

JavaScript Logical Operators

Logical operators are used to combine boolean expressions.

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:

OperNameExampleTry it
&&AND(x 1) is trueTry it
\\OR(x === 5 \\y === 5) is falseTry it
!NOT!(x === y) is trueTry it

JavaScript Logical AND

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

Example

Example Code

javascript
Try it Yourself
let x = 6;

let y = 3;

let z = (x   1)

JavaScript Logical OR

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

Example

Example Code

javascript
Try it Yourself
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

Example Code

javascript
Try it Yourself
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

Example Code

javascript
Try it Yourself
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.


Interactive Code Examples

JS Example 1

javascript
Try it Yourself
JavaScript syntax and algorithm demonstration.
let x = 6;

let y = 3;

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

JS Example 2

javascript
Try it Yourself
JavaScript syntax and algorithm demonstration.
let x = 6;

let y = -3;

let z = (x > 0 || y > 0)

JS Example 3

javascript
Try it Yourself
JavaScript syntax and algorithm demonstration.
let x = (5 == 8);

let y = !(5 == 8)

JS Example 4

javascript
Try it Yourself
JavaScript syntax and algorithm demonstration.
let name = null;

let text = "missing";

let result = name ?? text;