ECMAScript标准与规范

重要通知

基本概况

JavaScript 的标准是 ECMAScript。

ECMAScript版本迭代演进

ECMAScript 2009 第五版

这些功能包括访问器属性、对象的反射创建和检查、属性属性的程序控制、附加的数组操作函数、对 JSON 对象编码格式的支持,以及提供增强的错误检查和程序安全性的严格模式。

ECMAScript 2015 第六版

2009年,开始开发第六版。第六版于2015年6月由联合国大会通过。此版本的目标包括为大型应用程序、库创建以及将 ECMAScript 用作其他语言的编译目标提供更好的支持。它的一些主要增强功能包括模块、类声明、词法块范围、迭代器和生成器、异步编程的承诺、解构模式和适当的尾部调用。ECMAScript 内置库已扩展为支持其他数据抽象,包括二进制数值的映射、集合和数组,以及对字符串和正则表达式中的 Unicode 补充字符的额外支持。内置的嵌入也可以通过子类化进行扩展。第六版为定期的增量语言和库增强奠定了基础。

ECMAScript 2016

ECMAScript 2017

引入了异步函数、共享内存和原子,以及较小的语言和库增强、错误修复和编辑更新。共享内存和原子引入了一种新的内存模型,该模型允许多代理程序使用原子操作进行通信,从而确保即使在并行 CPU 上也能明确定义的执行顺序。

ECMAScript 2018

ECMAScript 2019

ECMAScript 2020

ECMAScript 2021

ECMAScript 2022

ECMAScript 2023

Class 类

class ClassName {
  constructor() {
    // 
  }
}

class Chain {
  constructor(params) {
    this.name = '区块链';  
    this.query = params || {};
  }
  add() {
    console.log('添加账本');
  } 
}

let block = new Chain();
console.log(block.name);


//扩展子类
class Child extends Chain {
  constructor() {
    // 子类 constructor 方法中必须有 super ,且必须出现在 this 之前
    super('内容');  // super:对父类constructor的引用,在普通方法中,指向父类的原型对象,在静态方法中,指向父类。
    this.sex = '女';

    console.log(this);  //Child { name: '区块链' }
    console.log(super.name);  // undefined
    // 引用父类方法
    super.add();
  }
}

Last Updated:
Contributors: 709992523