块级作用域
- 使用的优先级
const > let > var
- vue中
- 模块导出时,使用
const
结合es6导出语法导出,export const a = 1
- 模块中导入其他模块,大部分使用
import foo from ''
方式 - js文件导入其他文件,大部人使用
const
集合nodejs导出语法导入,const foo = require('')
- 在各种方法中使用
let
字符串
- 单引号
- 拼接使用特殊字符,反单引号
解构赋值
- 函数参数可以使用数组解构和对象解构
- 函数返回值多个时,优先使用对象解构
对象
- 单行对象,最后一个属性没有
,
。多行对象,最后一个属性有,
- 添加属性,优先使用
Object.assign()
- 尽量使用简洁语法
数组
- 拷贝数组
[...arr]
函数
- 立即执行函数可以写成箭头函数
- 箭头函数取代缓存this的方式
- 函数默认值的最后一个不可以直接是false
- 不使用
arguments
,可以用数组解构 - 使用默认值语法设置函数参数的默认值
// bad
function divide(a, b, option = false ) {
}
// good
function divide(a, b, { option = false } = {}) {
}
Map结构
- 使用
Map
表示键值对的结构 - 使用
Object
表示实际中的对象 - Map有以下方法,生成遍历器
- keys
- value
- entries
class
- 使用
class
和extends
,不再使用prototype
模块
- 优先使用
import
和export
ESLint
校验代码是否规范
- 全局安装
ESLint
- 可以全局,也可以在项目中安装其他各种插件
- 最后一个插件,应该是
React
项目中使用,Vue
项目中可以使用其他的类似插件 - 配置
eslintrc
文件 - 使用命令
eslint index.js
,就可以检测相应的文件
// 安装 ESLint
$ npm i -g eslint
// 然后,安装 Airbnb 语法规则,以及 import、a11y、react 插件。
$ npm i -g eslint-config-airbnb
$ npm i -g eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react