前言
由于 JavaScript 是一个动态的弱类型语言,在开发中比较容易出错。因为没有编译程序,为了寻找 JavaScript 代码错误通常需要在执行过程中不断调试。像 ESLint 这样的可以让程序员在编码的过程中发现问题而不是在执行的过程中。
上面这句话是 ESlint 的官网简介
使用 ESlint 的原因
由于 JavaScript 的语言太过于宽泛,这带给了我们很多的便利性,但是也同时埋了很多的坑,比如常见的 == 的弱类型转换问题以及 this 的指向,有了规范审查工具就可以了很好的解决这个问题,比如说,直接禁止掉 == 的使用,这种做法虽然限制了语言的灵活性,但是可以规避掉很多不必要的问题。
还有就是 JavaScript 作为一门动态语言,因为缺少编译过程,有些本可以在编译过程中发现的错误,只能等到运行才发现,这给我们调试工作增加了一些负担,而规范审查工具相当于为语言增加了编译过程,在代码运行前进行静态分析找到出错的地方。
在我们实际开发项目的过程中,每个开发者都有自己的 code style 的情况,你喜欢 2 个空格的 tab 缩进,我喜欢 4 个空格 tab 缩进,以及有的人喜欢分号结尾有的人不喜欢,如果各种不同的代码风格都混杂在一起,那么代码的可读性也不好了,所以在多人项目中维护一致的代码风格就很重要。
ESint 工具的优势
所以由此我们可以知道使用 Lint 工具有哪些优势:
-
** 规避掉低级的语法错误 ** :比如使用未声明的变量,修改 const 变量等
-
** 提示删除重复多余的代码 ** :声明了但是从未使用过的变量,重复的 case
-
** 统一整个项目的代码风格 ** :eslint 配合 prettier 使用,这样无论你的代码在你自己的编辑器里是什么样的,到了在提交到仓库的时候都能保证和团队的风格是统一的。
使用 ESlint 规范了哪些代码风格
- 统一换行编码格式(mac 和 windows 下的换行制式不同)
- 统一 tab 缩进时多少个空格为准
- 统一代码结束时带不带分号
- 是否禁止 == 的使用
- 单行代码最多多少个字符
- 一个函数中最多可以嵌套多少层
- 函数名与随后的参数括号前是否有空格
- 一个函数最多能有多少个参数
...