Left Handside Expression 左值表达式
Member Expression 成员变量表达式
访问成员变量的表达式,返回[[Reference]]类型
a.ba[b]foo`stirng` // 函数的特殊调用方式,模版字符串的“标签模版”功能super.bsuper['b']new.targetnew Foo()
New Expression new表达式
new a()new a()()
Call Expression call表达式
调用函数的表达式
foo()super()foo()["b"]foo().b // 返回的是函数foo()`aa` // foo()返回的是函数
Others Expression 其他表达式
一元运算符
delete a.bvoid 0 // 任何情况下返回undefinedawait func()typeof a // typeof null === "object"; typeof function(){} === "function"+a-a!a~a
运算符,逻辑符
+,-,*,/,%,>,<,=。。。。。。&&,|| 短路?:三目运算, 短路
类型转换
表格
装箱
- Number
new Number(0)返回对象Number类型,可以用于类型转换Number(0)返回基本number类型,可以用于类型转换
- String
new Stirng("a")返回对象String类型,可以用于类型转换String(0)返回基本string类型,可以用于类型转换
- Boolean
new Boolean(true)返回对象Boolean类型,可以用于类型转换Boolean(0)返回基本boolean类型,可以用于类型转换
- Symbol
- 有自定义
[Symbol.toPrimitive]使用[Symbol.toPrimitive] - 无自定义
[Symbol.toPrimitive],valueOf优先于toString成为默认[Symbol.toPrimitive]
