ruanyf / es-checker Goto Github PK
View Code? Open in Web Editor NEWA feature detection library for ECMAScript in node.js and browser.
Home Page: http://ruanyf.github.io/es-checker
A feature detection library for ECMAScript in node.js and browser.
Home Page: http://ruanyf.github.io/es-checker
在线检测页面
运行es-checker会监测系统默认浏览器对es 6的支持程度, 为了更加友好和严谨,建议在回显信息中加入浏览器的信息
Am I missing something ? Firefox has supported let and const since very long ago.
打扰您了,请教一下!
发现在支持esm的浏览器上,也显示出
✖ 模块的export命令
✖ 模板的import命令
判断浏览器是否支持ESM,是否可以使用以下方式判断。
<script type="module">
window.supportESM = true;
</script>
<script nomodule>
window.supportESM = false;
</script>
<script>
setTimeout(() => {
console.log("是否支持supportESM", window.supportESM);
}, 1000);
</script>
我发现普通<script>标签即使放在<script type="module">下方,执行顺序也会快一点,所以增加了1个1秒延迟打印查看。
Because export
and import
are only supported in <script type="module">
I think registered global functions may be possible?
I don't know whether this standard belongs to ES6 or not, but in some browser kernels that use this program to verify ES6 support, you can't run Optional chaining (?.)
> node -v
v12.9.1
> es-checker
ECMAScript 6 Feature Detection (v1.4.2)
Variables
√ let and const
√ TDZ error for too-early access of let or const declarations
√ Redefinition of const declarations not allowed
√ destructuring assignments/declarations for arrays and objects
√ ... operator
Data Types
√ For...of loop
√ Map, Set, WeakMap, WeakSet
√ Symbol
√ Symbols cannot be implicitly coerced
Number
√ Octal (e.g. 0o1 ) and binary (e.g. 0b10 ) literal forms
√ Old octal literal invalid now (e.g. 01 )
√ Static functions added to Math (e.g. Math.hypot(), Math.acosh(), Math.imul() )
√ Static functions added to Number (Number.isNaN(), Number.isInteger() )
String
√ Methods added to String.prototype (String.prototype.includes(), String.prototype.re
peat() )
√ Unicode code-point escape form in string literals (e.g. \u{20BB7} )
√ Unicode code-point escape form in identifier names (e.g. var \u{20BB7} = 42; )
√ Unicode code-point escape form in regular expressions (e.g. var regexp = /\u{20BB7}
/u; )
√ y flag for sticky regular expressions (e.g. /b/y )
√ Template String Literals
Function
√ arrow function
√ default function parameter values
√ destructuring for function parameters
√ Inferences for function name property for anonymous functions
× Tail-call optimization for function calls and recursion
Array
√ Methods added to Array.prototype ([].fill(), [].find(), [].findIndex(), [].entries(
), [].keys(), [].values() )
√ Static functions added to Array (Array.from(), Array.of() )
√ TypedArrays like Uint8Array, ArrayBuffer, Int8Array(), Int32Array(), Float64Array()
√ Some Array methods (e.g. Int8Array.prototype.slice(), Int8Array.prototype.join(), I
nt8Array.prototype.forEach() ) added to the TypedArray prototypes
√ Some Array statics (e.g. Uint32Array.from(), Uint32Array.of() ) added to the TypedA
rray constructors
Object
√ __proto__ in object literal definition sets [[Prototype]] link
√ Static functions added to Object (Object.getOwnPropertySymbols(), Object.assign() )
√ Object Literal Computed Property
√ Object Literal Property Shorthands
√ Proxies
√ Reflect
Generator and Promise
√ Generator function
√ Promises
Class
√ Class
√ super allowed in object methods
√ class ABC extends Array { .. }
Module
× Module export command
× Module import command
Node 12 already supports import/export,why shows “× Module export command”
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.