es6学习之路

建议不再使用var命令,而是使用let命令取代。
在let和const之间,建议优先使用const。
const静态字符串一律使用单引号或反引号,不使用双引号。动态字符串使用反引号。
使用数组成员对变量赋值时,优先使用解构赋值。
函数的参数如果是对象的成员,优先使用解构赋值。
如果函数返回多个值,优先使用对象的解构赋值,而不是数组的解构赋值。
单行定义的对象,最后一个成员不以逗号结尾。多行定义的对象,最后一个成员以逗号结尾。
使用扩展运算符(…)拷贝数组。
使用 Array.from 方法,将类似数组的对象转为数组。
那些需要使用函数表达式的场合,尽量用箭头函数代替。因为这样更简洁,而且绑定了 this。
简单的、单行的、不会复用的函数,建议采用箭头函数。如果函数体较为复杂,行数较多,还是应该采用传统的函数写法。
所有配置项都应该集中在一个对象,放在最后一个参数,布尔值不可以直接作为参数
使用默认值语法设置函数参数的默认值。
区分 Object 和 Map,只有模拟现实世界的实体对象时,才使用 Object。如果只是需要key: value的数据结构,使用 Map 结构。
总是用 Class,取代需要 prototype 的操作。因为 Class 的写法更简洁,更易于理解。
使用extends实现继承,因为这样更简单,不会有破坏instanceof运算的危险。
Module 语法是 JavaScript 模块的标准写法,坚持使用这种写法。使用import取代require。使用export取代module.exports。
如果模块默认输出一个函数,函数名的首字母应该小写;如果模块默认输出一个对象,对象名的首字母应该大写。

Array.of方法用于将一组值,转换为数组。
Array.from()可以将各种值转为真正的数组,并且还提供map功能,将空位处理成undefined。

Object.assign方法的第一个参数是目标对象,后面的参数都是源对象。
注意,如果目标对象与源对象有同名属性,或多个源对象有同名属性,则后面的属性会覆盖前面的属性。
Object.assign拷贝的属性是有限制的,只拷贝源对象的自身属性(不拷贝继承属性),也不拷贝不可枚举的属性。

由于 Set 结构没有键名,只有键值(或者说键名和键值是同一个值),所以keys方法和values方法的行为完全一致。
Set 结构的实例默认可遍历,它的默认遍历器生成函数就是它的values方法。这意味着,可以省略values方法,直接用for…of循环遍历 Set。

猜你喜欢

转载自blog.csdn.net/shengongbao114/article/details/84325787
今日推荐