根据环境选择语言特性
JavaScript 是 ECMAScript(以下简称 ES) 的实现。
ES 的版本非常多,各个浏览器的兼容情况也各不相同,所以一定要了解什么特性是不能在业务中直接使用的。
许多公司在开新项目的同时,依然要继续维护老项目,老项目的整套体系又和现在的前端整个开发流程不同,可能缺少编译、polyfill 等来解决兼容性问题的方案。
在老项目中,应避免去使用 ES6+
的特性,用户的环境千变万化,完全不知道会用什么浏览器,这时候就考验开发者的能力了,在使用一些不确定的特性时,可以通过 CAN I USE 查看。
一些新的 API 都会有对应的解决方案,如 includes
方法,就可以用 indexOf
代替,或者使用第三方工具库,如 lodash
。
var string = '123';
console.log(
string.includes('2'), // 输出:true
);
console.log(
string.indexOf('2') > -1, // 输出:true
);
即便如此,开发中也难免会忘记,写惯了 ES6
,可能一不小心就带了一个箭头函数上线了。
这时候就可以通过 ESLint
这样的代码检查工具,来帮助检查,然后配合 Git 的钩子,在 commit
时跑 ESLint
,能很大程度上规避掉这个问题。