zoukankan      html  css  js  c++  java
  • 了解一下ECMA标准提案的几个阶段(stagex)

    stage-x 处于某个阶段,描述的是ECMA标准相关的内容。根据天提案划分界限,stage-x大致分为以下阶段:

    • stage-0:还是一个设想,只能由TC39成员或TC39贡献者提出,什么样的设想呢?比如怎么一年后我称为世界首富,我应该怎么做才能称为世界首富呢?

    • stage-1::提案阶段,比较正式的提议,只能由TC39成员发起,这个提案要解决的问题必须有正式的书面描述。比如,我设想称为世界首富,建议认 “比尔.盖茨” 和 “亚马逊CEO” 两个为亲爹。并且继承它们两个的遗产,我就可以成为世界首富了。

    • stage-2:草案,有了初始规范,必须对功能语法和语义进行正式描述,包括一些实验性的实现。继续首富之梦,认爹也不能白认吧,起码有点诚意给每一个爹磕三个响头就稳了。可以提前计划一下首富后的快乐生活。

    • stage-3:候选,该提议基本已经实现,需要等待实验验证,用户反馈及验收测试通过。 基本上已经稳了,就等着继承遗产就ok了。

    • stage-4:已完成,必须通过 Test262 验收测试,下一步就纳入ECMA标准。 首富开始交接仪式,成功上位,等待下次福布斯排行榜统计后,你就上榜了!

    如果想要提前使用一些较为新鲜的ECMA语法(未到stage-4)阶段的语法,如ES6类的扩展:

    1. 实例属性初始化
    2. 静态类属性
    3. 函数绑定到类实例
    4. 类上定义静态函数
    class Bork {
        //Property initializer syntax
        instanceProperty = "bork";
        boundFunction = () => {
          return this.instanceProperty;
        };
    
        //Static class properties
        static staticProperty = "babelIsCool";
        static staticFunction = function() {
          return Bork.staticProperty;
        };
      }
    
      let myBork = new Bork;
    
      //Property initializers are not on the prototype.
      console.log(myBork.__proto__.boundFunction); // > undefined
    
      //Bound functions are bound to the class instance.
      console.log(myBork.boundFunction.call(undefined)); // > "bork"
    
      //Static function exists on the class.
      console.log(Bork.staticFunction()); // > "babelIsCool"
    

    可以借助 babel 的一些插件在构建编译阶段转换成浏览器可运行的代码。插件是 @babel/plugin-proposal-class-properties。这样配置:

    {
      "plugins": ["@babel/plugin-proposal-class-properties"]
    }
    

    这在开发React场景下使用偏多,也可以使用React脚手架工具这样这些语法都包括在内。

  • 相关阅读:
    3.live555源码分析----延时队列
    RTP包的结构
    2.live555源码分析----服务端doEventLoop()函数分析
    1.live555源码分析----RSTPServer创建过程分析
    RTSP协议介绍 (转)
    搭建最简单的流媒体系统(服务器和客户端)
    谈一谈 MPU6050 姿态融合(转)
    Nginx的优化
    LAMP与LNMP加速与缓存优化
    Nginx在LNMP架构中的作用与虚拟主机配置
  • 原文地址:https://www.cnblogs.com/qiqingfu/p/12387591.html
Copyright © 2011-2022 走看看