ECMAScript标准与规范
重要通知
。
基本概况
JavaScript 的标准是 ECMAScript。
- ECMAScript® 2023:https://tc39.es/ecma262/
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();
}
}