博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ES6 的功能侦测库 ES-Checker
阅读量:6420 次
发布时间:2019-06-23

本文共 1666 字,大约阅读时间需要 5 分钟。

两周前,正式通过,下一代 JavaScript 语言定案。

ECMAScript 6(以下简称 ES6)总共新增了20多项重大的语言特性。各种浏览器和 Node.js 都积极支持,但还有不少功能没实现。

上个周末,我读到了 Kyle Simpson 的文章,发现他开发了,可以侦测运行环境支持哪些 ES6 的功能。

我就在他的基础上 ,写了功能侦测库 ,用于查看 ES6 的支持情况。

今天,我把这个库提交到 ,结果居然进入了首页!虽然,名次不高,上榜时间也不长,但也算实现了一个人生愿望。

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

可用于多种环境。

(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 插入页面。

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

附: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对象

(完)

转载地址:http://vtmra.baihongyu.com/

你可能感兴趣的文章
虚拟化系列-Citrix XenServer 6.1 XenMotion与HA
查看>>
《3D数学基础》2.1 矩阵基本概念、2.2 矩阵的数乘和加减法、2.3 方阵
查看>>
TFS创建团队项目(三)
查看>>
对发展的一点小感想
查看>>
示例化讲解RIP路由更新机制
查看>>
eclipse不能自动编译工程的解决方法
查看>>
Powershell管理系列(九)删除Exchange用户邮箱中多余的电子邮件地址
查看>>
Swt/Jface进度条
查看>>
.NET建议使用的大小写命名原则
查看>>
Git:错误:error:src refspec master does not match any
查看>>
SSIS 数据类型和类型转换
查看>>
Oracle数据库“Specified cast is农田valid”
查看>>
数据层新思路,写数据库无关的数据层 ORM在数据库内做更为合适
查看>>
armv8(aarch64)linux内核中flush_dcache_all函数详细分析【转】
查看>>
房地产英语 Real estate词汇
查看>>
python接口自动化测试(八)-unittest-生成测试报告
查看>>
第 26 章 MySQL
查看>>
How far away ?(DFS)
查看>>
C#中三种截屏方式总结
查看>>
群发邮件功能的完善
查看>>