-
打个分吧:

ES6编程风格&最佳实践

遵守一定的规范和统一的风格写代码,是程序猿的基本素养😺

1分钟阅读
-
-

块级作用域

  • let完全取代var
  • let和const优先const:
    • 函数式编程思想,运算不改变值,只是新建值
    • 防止了无意间修改变量值所导致的错误
    • 有利于将来的分布式运算
    • JavaScript 编译器会对const进行优化,所以多使用const,有利于提高程序的运行效率

字符串

  • 静态一律用单引号/反引号
  • 动态使用反引号
  • 不使用双引号

解构赋值

  • 从数组取值给变量时,优先用数组解构
  • 函数参数是对象属性,优先用对象解构
  • 函数有多个返回值时,优先用对象解构

对象

  • 单行定义的对象,最后一个成员不以逗号结尾;多行定义的对象,最后一个成员要以逗号结尾
  • 对象尽量静态化,一旦定义就不要随意添加属性。非要加,就用 Object.assign 方法
  • 对象有动态属性名:用属性名表达式 [表达式]
  • 对象的属性和方法,尽量用简洁表达式,易于书写和描述

数组

  • 拷贝数组:用 ... 扩展运算符
  • 类数组对象转数组:用Array.from方法

函数

  • 立即执行函数:用箭头函数
  • 匿名函数:用箭头函数
  • 简单的、单行的、不会复用的函数:用箭头函数
  • 用箭头函数取代Function.prototype.bind
  • 不再用 _this/that/self/sf去绑定this
  • 不在函数体内用 arguments变量,用rest运算符...代替
  • 默认值语法设置函数参数

Map和Object

  • 只有模拟现实世界的对象时,采用Object
  • 只需要key:value数据结构时,就用Map

Class和prototype

  • 尽量用Class取代需要prototype的操作,更易书写和便于理解
  • extends实现继承,更简单,不会使instanceof运算有风险

Module

  • Module语法使ES的标准写法
  • 用import代替require
  • 用export代替module.exports
  • 如果模块只有一个输出值,就用default,否则别用
  • export default和export不要混合使用
  • 模块输出的函数,函数名首字母应该用小写

使用ESLint

  • 安装 ESLint
  • 安装 Airbnb 等语法规则,以及 import、a11y、react 等插件
  • 在项目的根目录下新建一个.eslintrc文件,配置 ESLint
上次更新:

评论区