美文网首页
es6都有哪些新特性?

es6都有哪些新特性?

作者: 阿明先森 | 来源:发表于2022-01-16 21:24 被阅读0次
  1. const let
  2. symbol
  3. 解构: const {key1, key2} = obj;
  4. 扩展运算符 ...:
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])
  1. 对象属性简写: const obj = {name, age}
  2. promise: 异步函数
  3. generator, 返回迭代器对象,yeild 分割步伐
  4. 箭头函数()=> {};不改变this指向
  5. async await : 像编写同步代码一样编写异步逻辑
  6. 函数的默认参数,给函数传递默认值,避免在函数里面写参数的判断逻辑
  7. 参数剩余参数:
function (arg1, ...others) {}
  • others接收剩余参数,存在类数组中。区别于arguments是全部参数。
  1. 数组赋值
const [firstName, lastName] = ['jock', 'chen']
  1. ?. 对象中是否包含某个属性,避免没有属性报错。返回undefined.
  2. ?? 区别于||,如果前面的值为null或'undefined',就把后面的值赋值给前面的变量。
const arg = undefined?? 'init'
  1. 模板字符串

相关文章

网友评论

      本文标题:es6都有哪些新特性?

      本文链接:https://www.haomeiwen.com/subject/ohgfhrtx.html