---
title:es6编码风格
date: 2018-06-09 16:29:00
updated: 2018-06-10 12:00:00
categories:
- 前沿脚本
- 编程开发
tags:
- nodejs
---
块作用域
01.let 取代 var
02.在let和const之间,建议优先使用const,尤其是在全局环境,不应该设置变量,只应设置常量。(全局常量
、线程安全
)
某字符串
01.静态字符串一律使用单引号或反引号,不使用双引号。
02.动态字符串使用反引号。
解构赋值
01.使用数组成员对变量赋值时,优先使用解构赋值。(数组解构
)
02.函数的参数如果是对象的成员,优先使用解构赋值。(函数解构
)
03.如果函数返回多个值,优先使用对象的解构赋值,而不是数组的解构赋值。
关于对象
01.单行定义的对象,最后一个成员不以逗号结尾。
02.多行定义的对象,最后一个成员以逗号结尾。
03.对象尽量静态化,一旦定义,不随意添加新的属性。如果添加属性不可避免,使用Object.assign方法。
04.如果对象的属性名是动态的,可以在创造对象的时候,使用属性表达式定义。
05.对象的属性和方法,尽量采用简洁表达法。
关于数组
01.使用扩展运算符(...)拷贝数组
。
02.使用 Array.from 方法,将类似数组的对象转为数组
。
关于函数
01.立即执行函数可以写成箭头函数的形式。(立执函数
)
02.那些使用匿名函数
当作参数的场合,尽量用箭头函数代替。
03.简单的、单行的、不会复用的函数,建议采用箭头函数。
04.如果函数体较为复杂,行数较多,还是应该采用传统的函数写法。
05.不在函数体内使用 arguments 变量,使用 rest 运算符(...)代替。
06.使用默认值语法设置函数参数的默认值。
关于映射
01.只是需要key: value的数据结构,使用 Map 结构;模拟现实世界的实体对象时,使用 Object。
类的使用
01.用 Class,取代需要 prototype 的操作
02.使用extends实现继承,不会有破坏instanceof运算的危险。
关于模块
01.使用import取代require。(导入
)
02.使用export取代module.exports(导出
)
03.如果模块只有一个输出值,就使用export default
04.如果模块有多个输出值,就不使用export default
05.不在模块输入中使用通配符
。因为这样可以确保模块之中,有一个默认输出
(export default)。
06.如果模块默认输出一个函数,函数名字
的首字母应该小写。
07.如果模块默认输出一个对象,对象名的首字母应该大写。
网友评论