Mixin
Mixin JavaScript 语言的设计是单一继承,即子类只能继承一个父类,不允许继承多个父类。这种设计保证了对象继承的层次结构是树状的,而不是复杂的网状结构。 但是,这大大降低了编程的灵活性。因为实际开发中,有时不可避免,子类需要继承多个父类。举例来说,“猫”可以继承“哺乳类动物”,也可以继承“宠物”。 各种单一继承的编程语言,有不同的多重继承解决方案

阮一峰2022/11/16
大约 3 分钟
SIMD
SIMD 概述 SIMD(发音/sim-dee/)是“Single Instruction/Multiple Data”的缩写,意为“单指令,多数据”。它是 JavaScript 操作 CPU 对应指令的接口,您可以看做这是一种不同的运算执行模式。与它相对的是 SISD(“Single Instruction/Single Data”),即“单指令,单数据”

阮一峰2022/11/16
大约 17 分钟
ArrayBuffer

ArrayBuffer 对象、TypedArray 视图和 DataView 视图是 JavaScript 操作二进制数据的一个接口。这些对象早就存在,属于独立的规格(2011 年 2 月发布),ES6 将它们纳入了 ECMAScript 规格,并且增加了新的方法。它们都是以数组的语法处理二进制数据,所以统称为二进制数组。


阮一峰2019年10月25日
大约 36 分钟
最新提案

本章介绍一些尚未进入标准、但很有希望的最新提案。


阮一峰2019年10月25日
大约 17 分钟
参考链接
参考链接 官方文件 ECMAScript® 2015 Language Specification: ECMAScript 2015 规格; ECMAScript® 2016 Language Specification: ECMAScript 2016 规格; ECMAScript® 2017 Language Specification: ECMAScr

阮一峰2019年10月25日
大约 13 分钟
读懂 ECMAScript 规格
读懂 ECMAScript 规格 概述 规格文件是计算机语言的官方标准,详细描述语法规则和实现方法。 一般来说,没有必要阅读规格,除非您要写编译器。因为规格写得非常抽象和精炼,又缺乏实例,不容易理解,而且对于解决实际的应用问题,帮助不大。但是,如果您遇到疑难的语法问题,实在找不到答案,这时可以去查看规格文件,了解语言标准是怎么说的。规格是解决问题的“最后一招

阮一峰2019年10月25日
大约 12 分钟
async 函数

ES2017 标准引入了 async 函数,使得异步操作变得更加方便。

Async 函数是什么? 一句话,它就是 Generator 函数的语法糖。


阮一峰2019年10月23日
大约 22 分钟
Class 的继承
Class 的继承 简介 Class 可以通过 extends 关键字实现继承,这比 ES5 的通过修改原型链实现继承,要清晰和方便很多。 上面代码定义了一个 ColorPoint 类,该类通过 extends 关键字,继承了 Point 类的所有属性和方法。但是由于没有部署任何代码,所以这两个类完全一样,等于复制了一个 Point 类。下面,我们在 Col

阮一峰2019年10月23日
大约 13 分钟
Class 的基本语法
Class 的基本语法 简介 JavaScript 语言中,生成实例对象的传统方法是通过构造函数。下面是一个例子。 上面这种写法跟传统的面向对象语言(比如 C++ 和 Java)差异很大,很容易让新学习这门语言的程序员感到困惑。 ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过 class 关键字,可以定义类。 基本

阮一峰2019年10月23日
大约 16 分钟
修饰器
类的修饰 许多面向对象的语言都有修饰器(Decorator)函数,用来修改类的行为。目前,有一个提案将这项功能,引入了 ECMAScript。 上面代码中,@testable 就是一个修饰器。它修改了 MyTestableClass 这个类的行为,为它加上了静态属性 isTestable。testable 函数的参数 target 是 MyTestableC

阮一峰2019年10月23日
大约 11 分钟
2
3
4