Expressions and Operators

JavaScript expressions are formed by combining literal values and variables with JavaScript operators. Parentheses can be used in an expression to group subexpressions and alter the default order of the evaluation of the expression. Here’s an example:

1+2
total/n
sum(o.x, a[3])++
(1+2)*3

JavaScript defines a complete set of operators, most of which should be familiar to all C, C++, and Java programmers. In Table 11.1, the P column specifies operator precedence and the A column specifies operator associativity: L means left-to-right associativity, and R means right-to-left associativity.

Table 11-1. Expressions and Operators

P A Operator Operation Performed
15L . Access an object property
 L [] Access an array element
 L () Invoke a function
14R ++ Unary pre- or post-increment
 R - - Unary pre- or post-decrement
 R - Unary minus (negation)
 R ~ Numeric bitwise complement
 R ! Unary boolean complement
 R delete Undefine a property (1.2)
 R new Create a new object
 R typeof Return type of operand (1.1)
 R void Return undefined value (1.1)
13L *, /, %Multiplication, division, modulo
12L +, -Addition, subtraction
 L + String concatenation
11L << Integer shift left
 L >> Shift right, sign extension
 L >>> Shift right, zero extension
10L <, <=Less than, less than or equal
 L >, >=Greater than, greater than or equal
9L ==, !=Test for equality or inequality
 L ===, !==Test for identity or nonidentity (no type conversion)
8L & Integer bitwise AND
7L ^ Integer bitwise XOR
6L | Integer ...

Get Webmaster in a Nutshell, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.