- const let
- symbol
- 解构:
const {key1, key2} = obj;
- 扩展运算符
...
:
const obj2 = {...obj1, newKey: ''};
const arr2 = [...arr1, 'test'];
// 扩展运算符和解构赋值结合使用
const [first, ...rest] = [1, 2, 3, 4, 5];
// first = 1
// rest = [2,3,4,4,5]
//扩展运算符还可以将字符串转为真正的数组
[...'hello'] //['h', 'e', 'l', 'l', 'o']
```js
//替换ES5中用apply方法为函数绑定参数
function f(x,y,z){}
es5:
f.apply(null, [1, 2, 3])
es6:
f(...[1,2,3])
- 对象属性简写:
const obj = {name, age}
- promise: 异步函数
- generator, 返回迭代器对象,
yeild
分割步伐
- 箭头函数
()=> {};
不改变this指向
-
async await
: 像编写同步代码一样编写异步逻辑
- 函数的默认参数,给函数传递默认值,避免在函数里面写参数的判断逻辑
- 参数剩余参数:
function (arg1, ...others) {}
-
others
接收剩余参数,存在类数组中。区别于arguments
是全部参数。
- 数组赋值
const [firstName, lastName] = ['jock', 'chen']
-
?.
对象中是否包含某个属性,避免没有属性报错。返回undefined
.
-
??
区别于||
,如果前面的值为null
或'undefined',就把后面的值赋值给前面的变量。
const arg = undefined?? 'init'
- 模板字符串
网友评论