files/en-us/web/javascript/reference/operators/index.md
This chapter documents all the JavaScript language operators, expressions and keywords.
For an alphabetical listing see the sidebar on the left.
Basic keywords and general expressions in JavaScript. These expressions have the highest precedence (higher than operators).
this keyword refers to a special property of an execution context.null, boolean, number, and string literals.function keyword defines a function expression.class keyword defines a class expression.function* keyword defines a generator function expression.async function defines an async function expression.async function* keywords define an async generator function expression.string")}}
Left values are the destination of an assignment.
object.property and object["property"]).new operator creates an instance of a constructor.new.target refers to the constructor that was invoked by {{jsxref("Operators/new", "new")}}.super keyword calls the parent constructor or allows accessing properties of the parent object.import() syntax allows loading a module asynchronously and dynamically into a potentially non-module environment.Postfix/prefix increment and postfix/prefix decrement operators.
A unary operation is an operation with only one operand.
delete operator deletes a property from an object.void operator evaluates an expression and discards its return value.typeof operator determines the type of a given object.Arithmetic operators take numerical values (either literals or variables) as their operands and return a single numerical value.
A comparison operator compares its operands and returns a boolean value based on whether the comparison is true.
instanceof operator determines whether an object is an instance of another object.in operator determines whether an object has a given property.[!NOTE]
=>is not an operator, but the notation for Arrow functions.
The result of evaluating an equality operator is always of type boolean based on whether the comparison is true.
Operations to shift all bits of the operand.
Bitwise operators treat their operands as a set of 32 bits (zeros and ones) and return standard JavaScript numerical values.
Logical operators implement boolean (logical) values and have short-circuiting behavior.
An assignment operator assigns a value to its left operand based on the value of its right operand.
[a, b] = arr, { a, b } = obj
{{Specifications}}
{{Compat}}