ie8不支持es6。在ie瀏覽器中,ie10及以下版本是完全不支援es6的,解析不了es6的語法,而ie11可以支援部分es6特性;可以透過判斷ie瀏覽器是否支援箭頭函數來檢查它是否支援es6,當不支援箭頭函數,則代表瀏覽器不支援ES6。
本教學操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。
ie8不支持es6。
在ie瀏覽器中,ie10及以下版本是完全不支援es6的,解析不了es6的語法,而ie11可以支援部分es6特性。
支援ES6的瀏覽器版本(匯總表):
瀏覽器 | 不支援的版本 | 部分支援的版本 | 支援的版本 |
---|---|---|---|
IE | 6-10 | 11 | |
Edge | 12-14 | 15-18、79-87 | |
Firefox | 2-5 | 6-53 | 54-86 |
Chrome | 4-20 | 21-50 | 51-90 |
Safari | 3.1-7 | 7.1-9.1 | 10-13.1、14、TP |
Opera | 10-12 | . 37 | 38-72 |
iOS Safari | 3.2-6.1 | 7-9.3 | 10-13.7、14.2 |
Opera Mini | all | ||
Android Browser | 2.1-4.3 | 4.4-4.4.4 | 81 |
Opera Mobile | 12-12.1 | 59 | |
Chrome for Android | 87 | ||
Firefox for Android | 83 | ||
UC Browser for Android | 12.12 | ||
Samsung Internet | 4 | 5-13.0 | |
QQ Browser | 10.4 | ||
Baidu Browser | 7.12 | ||
KaiOS Browser | 2.5 |
如何判斷一個瀏覽器是否支援ES6呢?
實現想法:
借助判斷一個瀏覽器是否支援箭頭函數,當不支援箭頭函數,則代表瀏覽器不支援ES6
實作步驟如下所示:
1、定義一個字串,並將一個箭頭函數賦值給字串
2、利用try catch判斷new Function是否可以初始化成功箭頭函數
當不進入catch,則代表瀏覽器支援ES6;反之瀏覽器不支援ES6,如下例所示:
例:
偵測瀏覽器是否支援ES6的範例分享
測試環境: IE,Chrome
document.write("瀏覽器是否支援ES6的偵測方法"); var arrowFunction ="var t = () => {};" ; try { f = new Function(arrowFunction); document.write("目前瀏覽器支援ES6!"); } catch (e) { document.write("不支援ES6! "+e); }