ES6笔记

1. 使用解构赋值减少代码量
// es5
let detail = this.data.detail,
    score = this.data.score,
    totalScore = this.data.totalScore,
    ratio = score / totalScore;

// es6解构赋值
let { detail, score, totalScore } = this.data,
    ratio = score / totalScore;

// 还可以使用别名
let { detail, score: score1, totalScore: score2 } = this.data,
    ratio = score1 / score2;

// 筛选掉特定的键值
let obj = {a:1, b:2, c:3, d:4};
let {a, ...newObj} = obj;
console.log(newObj); // {b:2, c:3, d:4}
2. 同理,使用展开运算符减少代码量
// es5
obj.a = obj2.a;
obj.b = obj2.b;
obj.c = c;

// es6展开运算符
obj = { ...obj, a: obj2.a, b: obj2.b, c};
// 注意,后面的同名属性会覆盖前面的,但不能用于深拷贝
3. Reflect

附ES5中 Object的一些特性

4. iterator

Array、Map、Set、arguments、nodeList、String等默认部署了 iterator,可以使用 for...of 进行遍历,若想给 Object 类型部署 iterator,可以自定义 iterator 方法,若是伪数组则可以如下:

let iterable = {
  0: 0,
  1: 1,
  length: 2,
  [Symbol.iterator]: Array.prototype[Symbol.iterator]
};
for(let value of iterable) {
  console.log(value); // 输出 0 1
}
5. for...of循环的优点
for            语法比较繁琐
for...in       无法保证顺序,无法中途使用return或break跳出,key会默认转化为String类型,会遍历原型链的键值
for...of       有着与for...in一样简洁的语法,但没有那些缺点(经过验证,也会遍历原型链的键值)
6. Array新特性
indexOf
every
some
reduce
isArray
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 三,字符串扩展 3.1 Unicode表示法 ES6 做出了改进,只要将码点放入大括号,就能正确解读该字符。有了这...
    eastbaby阅读 5,515评论 0 8
  • Iterator(遍历器)的概念 JavaScript原有的表示“集合”的数据结构,主要是数组(Array)和对象...
    呼呼哥阅读 9,923评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,281评论 19 139
  • 好的聊天是,我说出来的话,有人听得懂,知道所言何物何事,他们也会有情感的共鸣,并言出自己的所思所感。同窗多年的好友...
    问今阅读 1,661评论 0 0
  • http://blog.csdn.net/licheng11403080324/article/details/5...
    6659a0f02826阅读 1,769评论 0 0

友情链接更多精彩内容