What does this symbol mean in JavaScript?

See the documentation on MDN about expressions and operators and statements.

Basic keywords and general expressions

this keyword:

var x = function() vs. function x()  —  Function declaration syntax

(function(){})()  —  IIFE (Immediately Invoked Function Expression)

someFunction()()  —  Functions which return other functions

=>  —  Equal sign, greater than: arrow function expression syntax

|>  —  Pipe, greater than: Pipeline operator

function*, yield, yield*  —  Star after function or yield: generator functions

[], Array()  —  Square brackets: array notation

If the square brackets appear on the left side of an assignment ([a] = ...), or inside a function’s parameters, it’s a destructuring assignment.

{key: value}  —  Curly brackets: object literal syntax (not to be confused with blocks)

If the curly brackets appear on the left side of an assignment ({ a } = ...) or inside a function’s parameters, it’s a destructuring assignment.

`${}`  —  Backticks, dollar sign with curly brackets: template literals

//  —  Slashes: regular expression literals

$  —  Dollar sign in regex replace patterns: $$, $&, $`, $', $n

()  —  Parentheses: grouping operator


Property-related expressions

obj.prop, obj[prop], obj["prop"]  —  Square brackets or dot: property accessors

?., ?.[], ?.()  —  Question mark, dot: optional chaining operator

::  —  Double colon: bind operator

new operator

...iter  —  Three dots: spread syntax; rest parameters


Increment and decrement

++, --  —  Double plus or minus: pre- / post-increment / -decrement operators


Unary and binary (arithmetic, logical, bitwise) operators

delete operator

void operator

+, -  —  Plus and minus: addition or concatenation, and subtraction operators; unary sign operators

|, &, ^, ~  —  Single pipe, ampersand, circumflex, tilde: bitwise OR, AND, XOR, & NOT operators

%  —  Percent sign: remainder operator

&&, ||, !  —  Double ampersand, double pipe, exclamation point: logical operators

??  —  Double question mark: nullish-coalescing operator

**  —  Double star: power operator (exponentiation)


Equality operators

==, ===  —  Equal signs: equality operators

!=, !==  —  Exclamation point and equal signs: inequality operators


Bit shift operators

<<, >>, >>>  —  Two or three angle brackets: bit shift operators


Conditional operator

?:…  —  Question mark and colon: conditional (ternary) operator


Assignment operators

=  —  Equal sign: assignment operator

This symbol is also used for default parameters or default values in a destructuring assignment:

%=  —  Percent equals: remainder assignment

+=  —  Plus equals: addition assignment operator

&&=, ||=, ??=  —  Double ampersand, pipe, or question mark, followed by equal sign: logical assignments

Destructuring


Comma operator

,  —  Comma operator (not to be confused with the comma used in variable declarations)


Control flow

{}  — Curly brackets: blocks (not to be confused with object literal syntax)

Declarations

var, let, const  —  Declaring variables


Label

label:  —  Colon: labels


Other

123n  —  n after integer: BigInt

#  —  Hash (number sign): Private methods or private fields

_  —  Underscore: separator in numeric literals

Leave a Comment