Left Handside Expression 左值表达式
Member Expression 成员变量表达式
访问成员变量的表达式,返回[[Reference]]
类型
a.b
a[b]
foo`stirng` // 函数的特殊调用方式,模版字符串的“标签模版”功能
super.b
super['b']
new.target
new Foo()
New Expression new表达式
new a()
new a()()
Call Expression call表达式
调用函数的表达式
foo()
super()
foo()["b"]
foo().b // 返回的是函数
foo()`aa` // foo()返回的是函数
Others Expression 其他表达式
一元运算符
delete a.b
void 0 // 任何情况下返回undefined
await 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]