# Chapter 4. Expressions and Operators ## 4.1 Primary Expressions ## 4.2 Object and Array Initializers ## 4.3 Function Definition Expressions ## 4.4 Property Access Expressions ### 4.4.1 Conditional Property Access ## 4.5 Invocation Expressions ### 4.5.1 Conditional Invocation ## 4.6 Object Creation Expressions ## 4.7 Operator Overview ### 4.7.1 Number of Operands ### 4.7.2 Operand and Result Type ### 4.7.3 Operator Side Effects ### 4.7.4 Operator Precedence ### 4.7.5 Operator Associativity ### 4.7.6 Order of Evaluation ## 4.8 Arithmetic Expressions ### 4.8.1 The + Operator ### 4.8.2 Unary Arithmetic Operators ### 4.8.3 Bitwise Operators ## 4.9 Relational Expressions ### 4.9.1 Equality and Inequality Operators ### 4.9.2 Comparison Operators ### 4.9.3 The in Operator ### 4.9.4 The instanceof Operator ## 4.10 Logical Expressions ### 4.10.1 Logical AND (&&) ### 4.10.2 Logical OR (||) ### 4.10.3 Logical NOT (!) ## 4.11 Assignment Expressions ### 4.11.1 Assignment with Operation ## 4.12 Evaluation Expressions ### 4.12.1 eval() ### 4.12.2 Global eval() ### 4.12.3 Strict eval() ## 4.13 Miscellaneous Operators ### 4.13.1 The Conditional Operator (?:) ### 4.13.2 First-Defined (??) ### 4.13.3 The typeof Operator ### 4.13.4 The delete Operator ### 4.13.5 The await Operator ### 4.13.6 The void Operator ### 4.13.7 The comma Operator (,)