[FE] How to detect ES Features
若用戶停留在舊版版的遊覽器就無法支持新特徵,如何偵測遊覽器上支援哪些JavaScript特徵,遊覽器依據 ECMAScript 規範實作這些特徵。
檢查方式不外乎透過 in 關鍵字來檢查或實際宣告並執行該特徵,並透過 new Function() 的方式來執行並用 try catch包裹,看看執行後是否發生錯誤,但如果遇到html header設置的Content Security-Policy較為嚴謹的話,執行eval或new Function(),均會返回 EvalError 錯誤,就無法做任何檢查.
此專案沒有全盤地將所有特徵加入,僅加入比較有可能使用的特徵.
網路上找到了相關資源,但作者只檢查了ES2015,自己花了點時間擴充至2025 ,並可自行設置必需的特徵,以及畫面是否顯示錯誤提示.