June 1999
Intermediate to advanced
540 pages
21h 39m
English
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 ... |
Read now
Unlock full access