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*yieldyield* — 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.propobj[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

%= — 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

varletconst — Declaring variables


Label

label: — Colon: labels


Other

123n — n after integer: BigInt

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

Leave a Comment