Arithmetic operators take numerical values (either literals or variables) as their operands and return a single numerical value. The standard arithmetic operators are addition (+), subtraction (-), multiplication (*), and division (/).
Arithmetic operators take numerical values (either literals or variables) as their operands and return a single numerical value. The standard arithmetic operators are addition (+), subtraction (-), multiplication (*), and division (/).
An assignment operator assigns a value to its left operand based on the value of its right operand.
Bitwise operators treat their operands as a sequence of 32 bits (zeroes and ones), rather than as decimal, hexadecimal, or octal `numbers`. For example, the decimal number nine has a binary representation of 1001. Bitwise operators perform their operations on such binary representations, but they return standard JavaScript numerical values.
The comma operator evaluates each of its operands (from left to right) and returns the value of the last operand.
JavaScript has both strict and type–converting comparisons. A strict comparison (e.g., `===`) is only true if the operands are of the same type and the contents match. The more commonly-used abstract comparison (e.g. `==`) converts the operands to the same type before making the comparison. For relational abstract comparisons (e.g., `<=`), the operands are first converted to primitives, then to the same type, before comparison.
The conditional (ternary) operator is the only JavaScript operator that takes three operands. This operator is frequently used as a shortcut for the `if` statement.
Logical operators are typically used with `Boolean` (logical) values. When they are, they return a Boolean value. However, the `&&` and `||` operators actually return the value of one of the specified operands, so if these operators are used with non-Boolean values, they may return a non-Boolean value.
Operator precedence determines the order in which operators are evaluated. Operators with higher precedence are evaluated first.
Property accessors provide access to an object's properties by using the dot notation or the bracket notation.
The `typeof` operator returns a string indicating the type of the unevaluated operand.
The `void` operator evaluates the given `expression` and then returns `undefined`.
The `delete` operator removes a property from an object.
The destructuring assignment syntax is a JavaScript expression that makes it possible to extract data from arrays or objects into distinct variables.
The grouping operator `( )` controls the precedence of evaluation in expressions.
The `in` operator returns `true` if the specified property is in the specified object.
The spread syntax allows an expression to be expanded in places where multiple arguments (for function calls) or multiple elements (for array literals) or multiple variables  (for destructuring assignment) are expected.
The array comprehension syntax is a JavaScript expression which allows you to quickly assemble a new array based on an existing one. Comprehensions exist in many programming languages.
The class expression is one way to define a class in ECMAScript 2015 (ES6). Similar to function expressions, class expressions can be named or unnamed. If named, the name of the class is local to the class body only. JavaScript classes are using prototype-based inheritance.
The `function` keyword can be used to define a function inside an expression.