以下是读犀牛书时感觉非常简单但是又非常有用的东西,随笔记一下,会随着阅读进度慢慢更新
-
- ES5中没有经过
var
声明的变量,不能被delete
- ES5中没有经过
-
- 原始值不能被更改,数值和布尔好理解,但是对于字符串,我们或许认为可以通过索引修改某一个字符,事实上,JS不允许这样做
let s = ''hello; s.toUpperCase(); //返回HELLO console.log(s); //返回hello s没有改变
-
- 新的数值类型
bigInt
- 通过bigInt
表示任意精度证书,结尾加上n
表示bigInt
字面量
- 新的数值类型
-
??
操作符,与||
类似,但是不同,意思是左侧值为null
或undefined
时,返回右侧的数
let a, b = 10; console.log(a ?? b); // 返回10
-
- 条件式属性访问 -
a?.b
或a?.['b']
,对于obj.a.b.c
,如果除了c之外的属性为null
或undefined
,使用属性访问会报TypeError
错误,使用if进行判断的话又十分的麻烦
- 条件式属性访问 -
-
Object.keys()
:返回对象属性名数组Object.values()
:返回对象键值数组,Object.entries()
:返回对象的键值对数组,数组每一项为键和键值