es-checker, 在 node.js 和浏览器中,用于ECMAScript的功能检测库

分享于 

4分钟阅读

GitHub

  繁體 雙語
A feature detection library for ECMAScript in node.js and browser.
  • 源代码名称:es-checker
  • 源代码网址:http://www.github.com/ruanyf/es-checker
  • es-checker源代码文档
  • es-checker源代码下载
  • Git URL:
    git://www.github.com/ruanyf/es-checker.git
    Git Clone代码到本地:
    git clone http://www.github.com/ruanyf/es-checker
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/ruanyf/es-checker
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    

    es检查器是 node.js 和浏览器中的ECMAScript的一个功能检测库。 请访问演示网站。

    :如何使用

    命令行

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

    Node.js

    首先在本地安装es检查器。

    $ npm install --save es-checker

    在你的剧本里需要它。

    var Supports =require("es-checker");if (Supports.letConst) {
     let x =5;
    } else {
     var x =5;
    }

    完整的Api列表请参见下面的。

    浏览器

    首先在页面中插入 es-checker.js。

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

    然后使用 Supports 决定使用哪个特性。 访问演示

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

    完整的API列表请参见下面的。

    API

    这个库是从 es-feature-tests 派生的。 下面的API从它复制。 访问 FeatureTests.io 了解更多信息,包括如何通过自己测试特性。

    • letConst: let和 const
    • defaultParameter: 默认函数参数值
    • spreadRest:。operator运算符
    • :数组和对象的destructuring赋值/声明
    • parameterDestructuring: 函数参数的destructuring
    • templateString: .. 模板字符串
    • forOf: ( 某事物的var ) {. }
    • 箭头: x => x * x
    • 生成器: 函数 *foo() {. }
    • conciseMethodProperty: o = { b() {. }, }
    • computedProperty: o = { ["a" +"b"]: 42 }
    • moduleExport: 在模块中,导出默认的foo = 42
    • moduleImport: 在模块中,从"foo导入栏"
    • : 类A 扩展B {. }
    • numericLiteral: 八进制和二进制文字形式( 0o1,0 b10 )
    • oldOctalLiteral: 旧八进制文字无效( 01 )
    • 符号: 符号基元
    • unicodeEscape: 字符串文字('中的Unicode代码点转义形式( {20BB7} )
    • 小数点 unicodeIdentifier: 标识符名称中的Unicode码位转义形式( u {20BB7} = 42 )
    • unicodeRegExp: 正规表达式 (/u{20BB7}/u) 中的Unicode代码点转义形式
    • stickyRegExp: 粘 正规表达式的y 标志
    • letTDZ: TDZ错误过早访问允许或者const声明
    • constRedef: 不允许重定义const声明
    • objectProto: 对象文本定义中的proto proto link
    • objectSuper: 对象方法中允许超级用户
    • extendNatives: 类ABC扩展 array {. }
    • 为函数调用和递归提供的tco: tail调用优化
    • symbolImplicitCoercion: 符号不能隐式强制为( 符号("+
    • functionNameInfernece: 匿名函数的函数名属性的推论
    • objectStatics: static 函数添加到对象
    • arrayStatics: static 函数添加到 array
    • arrayMethods: 添加到 Array.prototype的方法
    • TypedArrays: TypedArrays类似 Uint8Array ( 在ES6之前,web平台特性是很长的)
    • typedArrayStatics: 添加到TypedArray构造函数中的一些 array 静态( 如来自(。)
    • typedArrayMethods: 一些 array 方法( 像地图(。) ( ) 添加到 TypedArray Prototype中
    • stringMethods: 添加到 String.prototype的方法
    • numberStatics: static 函数添加到数
    • mathStatics: static 函数添加到数学中
    • 收藏集合: 添加( 映射,设置,WeakMap,WeakSet )
    • 代理: 代理
    • 承诺承诺承诺
    • 反映: 反映

    已经授权

    MIT


    bro  浏览  feature  Detect  检测  ECM  
    相关文章