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 |
---|---|---|---|
15 | L |
.
| Access an object property |
L |
[]
| Access an array element | |
L |
()
| Invoke a function | |
14 | R |
++
| 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) | |
13 | L |
* , /, % | Multiplication, division, modulo |
12 | L |
+ , - | Addition, subtraction |
L |
+
| String concatenation | |
11 | L |
<<
| Integer shift left |
L |
>>
| Shift right, sign extension | |
L |
>>>
| Shift right, zero extension | |
10 | L |
< , <= | Less than, less than or equal |
L |
> , >= | Greater than, greater than or equal | |
9 | L |
== , != | Test for equality or inequality |
L |
=== , !== | Test for identity or nonidentity (no type conversion) | |
8 | L |
&
| Integer bitwise AND |
7 | L |
^
| Integer bitwise XOR |
6 | L |
|
| 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.