返回
赋值表达式语法解析,大道至简!
前端
2023-09-26 06:59:12
规范中的赋值表达式
赋值表达式是JavaScript中用于给变量或属性赋值的语法结构。规范中对赋值表达式的定义如下:
AssignmentExpression :
LeftHandSideExpression = AssignmentOperator Expression
其中,LeftHandSideExpression
表示要赋值的变量或属性,AssignmentOperator
表示赋值运算符,Expression
表示要赋予的值。
赋值运算符
规范中定义了以下赋值运算符:
AssignmentOperator :
= *= /= %= += -= <<= >>= >>>= &= ^= |=
这些运算符可以分为简单赋值运算符和复合赋值运算符。简单赋值运算符只有=
一个,而复合赋值运算符则由=
和另一个运算符组合而成。
赋值表达式的执行
赋值表达式的执行主要涉及以下几个步骤:
- 求解
LeftHandSideExpression
,得到一个引用值。 - 求解
Expression
,得到一个值。 - 根据
AssignmentOperator
,将Expression
的值赋予LeftHandSideExpression
引用的变量或属性。
值得注意的是,赋值表达式的执行结果总是Expression
的值。
属性获取表达式
在赋值表达式中,LeftHandSideExpression
可以是属性获取表达式。属性获取表达式是用来获取对象属性值的语法结构。规范中对属性获取表达式的定义如下:
PropertyAccessExpression :
PrimaryExpression . IdentifierName
其中,PrimaryExpression
表示要获取属性的对象,IdentifierName
表示要获取的属性名。
属性获取表达式的执行
属性获取表达式的执行主要涉及以下几个步骤:
- 求解
PrimaryExpression
,得到一个对象值。 - 从对象值中获取
IdentifierName
对应的属性值。
属性获取表达式的执行结果是对象属性的值。
赋值表达式示例
以下是一些赋值表达式的示例:
a = 1;
b += 2;
c *= 3;
d /= 4;
e %= 5;
这些赋值表达式的执行结果分别是:
a = 1
b = 3
c = 6
d = 0.75
e = 1
总结
赋值表达式是JavaScript中用于给变量或属性赋值的语法结构。赋值表达式的执行主要涉及了属性获取表达式和赋值表达式,先去规范里看对于这两种语法及其执行的规定。通过本文的讲解,相信大家对赋值表达式的规范和执行过程有了更深入的了解。