ES6入门学习实用性及应用场景分析

原创
2019/09/05 10:28
阅读数 982

本文是根据阮一峰的 ECMAScript6入门 一书学习并结合当前工作情况,总结的各部分内容的实用性,及其应用场景分析.

No. 章节名 实用性 应用场景
2 let和const命令 4 1.let和const都是当前js环境必不可少的两个指令,习得此节后对使用这两种指令更加娴熟,减少一些可能的代码错误,特别是对暂时性死区的了解. 2.对顶层对象有一定的了解.
3 变量的解构赋值 3 1.阅读其他源码时,能够更好的理解; 2.参考第7点用途一节,目前用的比较多的是:函数参数的定义,函数参数的默认值,提取JSON数据.
4 字符串的扩展 1 1.字符串的Unicode表示方法,可能能用于一些字符串处理的通用方法中; 2.模板字符串用于一些提示的方法生成;
5 字符串的新增方法 2 1.判断字符串存在性的方法,可替代原来的正则表达式判断且更加直观; 2.字符串补全方法与localCompare()方法配合起来,可以用来判断不等长具有一定规则编码的判断.
6 正则的扩展 1 1.正则表达式本身即具备较广泛的应用场景,它所提供的功能往往比需要且知道的还多; 2.扩展的内容中,以后行断言,Unicode属性类和具名组匹配,可能得到更多的应用;
7 数值的扩展 1 1.对于一般业务场景能适用的改进较少.如Math.sign().多数方便的方法最好还是自己封装; 2.对于数学领域方法扩展较多,对于地图,作图等领域可能有较大帮助;
8 函数的扩展 4 1.函数参数默认值和rest参数,使定义函数的时候更加方便; 2.箭头函数应用广泛,尤其注意箭头函数的this. 3.尾调用在高等用法中作用较大,日常逻辑中使用较少,但设计优化点值得注意.
9 数组的扩展 3 1.扩展运算符在构建新数组的时候非常方便; 2.数组实例的entries方法,用于同时有遍历索引与值的场合; 3.flat,flatMap适用于一些解决复杂数据的场合;
10 对象的扩展 2 解构赋值对于浅拷贝对象非常有用;
11 对象的新增方法 3 1.Object.assign对于对象合并较为方便; 2.新标准支持的遍历方法更加方便; 3.Object.fromEntries在某些场合作用较大;
12 Symbol 1 概念大致理解了,但目前不太确定何种场合使用.
13 Set和Map数据结构 2 1.Set在去除重复值的时候有些作用; 2.Map相对来说,可能不如对象直接使用方便;
14 Proxy 1 暂未发现
15 Reflect 1 1.可以和Proxy共同发挥作用; 2.也可代替Object成为某些行为的函数形式;
16 Promise 5 ES6最重要的几个改进之一,相比于此前大大提升了开发便捷性.Promise可称为ES6异步操作的基本单位. 根据Promise的语法设置,对于所有可能的异步方法,最常见的ajax发送请求,以及解析图片,excel等,都建议以一个Promise的对象作为返回值.
17 Iterator和for...of循环 3 1.Iterator概念更适合理解,应用上帮助不是很大; 2.for...of语法较为实用;
18 Generator函数的语法 2 ES6的几个重大改进之一,将操作遍历化.目前的实际工作中暂时没有想到十分合适应用场景,后续多留意
19 Generator函数的异步应用 2 处理一些比较复杂的(多个的)异步应用帮助很大. 但建议,先通过使用Promise了解透这种思想后再使用这种更为复杂的思路.
20 async函数 4 目前来看,实现多个异步操作最完美的方案.当然,仍然有赖于Promise这个基本异步操作单位.
21 Class的基本语法 2 目前没有看出Class有什么比较广泛的用法.
22 Class的继承 1 同上一章一样,由于Class本身较少使用,故Class的继承也较少用到.
23 Module的语法 4 如概述中索引,Module最大的作用,就是使逻辑可以分离在不同的文件中,减少系统的整体复杂度.
24 Module的加载实现 2 浏览器加载比较适用.
25 编程风格 4 (本章内容主要参考Airbnb公司的js风格规范)本章介绍了多数皆可情况下的风格选择.

总的来说,解构赋值,箭头函数,Promise及更进一步的async,Module的语法是ES6中比较重要的几个提升,可以更优雅的解决问题.

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部