ES6的功能侦测库 ES-Checker

2020-06-22

Ann Ann

请先看Demo,你的浏览器支持多少 ES6?

ES-Checker 可用于多种环境。

(1)命令行环境

$ npm install -g es-checker
$ es-checker

(2)Node环境

将 ES-Checker 安装在项目的根目录。

$ npm install es-checker

就可以在脚本中引用 ES-Checker 了。

var Supports = require("es-checker");

if (Supports.letConst) {
  let x = 5;
} else {
  var x = 5;
}

Supports 对象的属性清单,请见后文。

(3)浏览器环境

将 es-checker.js 插入页面。

<script src="http://ruanyf.github.io/es-checker/es-checker.js"></script>

然后在脚本中使用 Supports 对象,决定哪些功能可以使用。

<script>
if (Supports.letConst) {
  let x = 5;
} else {
  var x = 5;
}
</script>

附:Supports 的属性清单

  • letConst: let 和 const 命令
  • defaultParameter: 函数的默认参数
  • spreadRest: 扩展(...)运算符
  • destructuring: 解构赋值
  • parameterDestructuring: 函数参数的解构
  • templateString: 模板字符串
  • forOf: for...of循环
  • arrow: 箭头函数
  • generator: generator函数
  • conciseMethodProperty: 对象属性的简洁表示法
  • computedProperty: 对象属性名使用表达式
  • moduleExport: 模块的export命令
  • moduleImport: 模板的import命令
  • numericLiteral: 数值的八进制和二进制表示法
  • oldOctalLiteral: 八进制的前缀零表示法
  • symbol: Symbol类型
  • unicodeEscape: Unicode字符的大括号表示法
  • unicodeIdentifier: Unicode字符是否可用作标识名
  • unicodeRegExp: 正则表达式的u修饰符
  • stickyRegExp: 正则表达式的y修饰符
  • class: 类(class)
  • letTDZ: let命令的暂时性死区
  • constRedef: 不允许再次用const声明同一变量
  • objectProto: 对象的__proto__属性
  • objectSuper: 对象方法是否可以使用super
  • extendNatives: 原生类型的扩展
  • tco: 尾调用优化
  • symbolImplicitCoercion: Symbol值不能用于运算
  • functionNameInference: 匿名函数的name属性推断函数名
  • objectStatics: Object的静态方法
  • arrayStatics: 数组的静态方法
  • arrayMethods: 数组的实例方法
  • typedArrays: 类型化数组
  • typedArrayStatics: 类型化数组的静态方法
  • typedArrayMethods: 类型化数组的实例方法
  • stringMethods: 字符串的实例方法
  • numberStatics: Number对象的静态方法
  • mathStatics: Math对象的静态方法
  • collections: Map, Set, WeakMap, WeakSet
  • proxy: Proxy对象
  • promise: Promise对象
近期开课hot

Python零基础入门

start2025/02/12 03:14 (Sydney)

Web全栈班24期 NodeJS方向

start2024/12/08 11:30 (Sydney)

logo

Follow Us

linkedinfacebooktwitterinstagramweiboyoutubebilibilitiktokxigua

We Accept

/image/layout/pay-paypal.png/image/layout/pay-visa.png/image/layout/pay-master-card.png/image/layout/pay-stripe.png/image/layout/pay-alipay.png

地址

Level 10b, 144 Edward Street, Brisbane CBD(Headquarter)
Level 8, 11 York st, Wynyard, Sydney CBD
Business Hub, 155 Waymouth St, Adelaide SA 5000

Disclaimer

footer-disclaimerfooter-disclaimer

JR Academy acknowledges Traditional Owners of Country throughout Australia and recognises the continuing connection to lands, waters and communities. We pay our respect to Aboriginal and Torres Strait Islander cultures; and to Elders past and present. Aboriginal and Torres Strait Islander peoples should be aware that this website may contain images or names of people who have since passed away.

匠人学院网站上的所有内容,包括课程材料、徽标和匠人学院网站上提供的信息,均受澳大利亚政府知识产权法的保护。严禁未经授权使用、销售、分发、复制或修改。违规行为可能会导致法律诉讼。通过访问我们的网站,您同意尊重我们的知识产权。 JR Academy Pty Ltd 保留所有权利,包括专利、商标和版权。任何侵权行为都将受到法律追究。查看用户协议

© 2017-2024 JR Academy Pty Ltd. All rights reserved.

ABN 26621887572