根據環境選擇語言特性
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
,能很大程度上規避掉這個問題。