Expressions
Member
返回 Reference 类型
- Object
- Key
delete、assign 才能体现出引用的特点
a.b
a[b] (顺便提一下 上周在项目里面想写一个函数动态获取对象的属性,上网查了资料,用的就是这个)
foo_string_
var name = ‘world‘
function foo() {
// 这里是能够拿到 arguments 的
console.log(arguments)
}
super[‘b’]
new.target
function foo() {
console.log(new.target)
}
foo() // undefined
function bar() {
console.log(this)
}
var fackObject = {}
Object.setPrototypeOf(fackObject, bar.prototype)
fackObject.constructor = bar
bar.apply(fackObject)
new Foo()
new Foo
Call
foo()
super()
foo().b
foo()[‘b’]
class foo {
constructor() {
this.b = 1
}
}
new foo()[‘b‘] // 1
foo())_abc_
LeftHandside && RightHandSide
等号的左边与等号的右边
LeftHandside - Runtime -=> Reference
-Grammar => Left Handside
Update
? no line terminator here 不能换行
a++
// 在 chrome 开个 devtools,然后输入的时候,记得 shift + return
var a = 1, b = 1, c = 1;
a
++
b
++
c
++
[a, b, c]
a--
++a
—a
Unary(不知道怎么翻译,看做一元运算符???)
delete a.b
void 0 // 有标准推荐这么写 undefined
typeof a
+a
-a
~a
!a
await a
Exponental
**
Mutiplicative
*/%
Addative
- +
Shift
>> << >>>
Relationship
> < >= <= instanceof in
Equality
=== !=== == !==
Bitwise 位运算
^ | ^
Logical
&& ||
短路逻辑 (这个在 React 里面经常用)
a && b a为true时,b才会执行
a || b a或b为true,a或b才会执行
Conditional
?:
原文:https://www.cnblogs.com/ssaylo/p/13092952.html