在相当长的一段时间里,JS 只有一些近似类的语法元素,比如 new 和 instanceof,不过后来的 ES6 中新增了一些元素,比如 class 关键字。这是不是意味着 JS 中实际上有类呢?简单来说: 不是
由于类是一种设计模式,所以可以用一些方法近似实现类的功能。为了满足对于类设计的最普遍需求, JS 提供了近似类的语法
虽然有近似类的语法,但是 JS 的机制似乎一直在阻止你使用类设计模式。在近似类的表象之下, JS 的机制其实和类完全不同。语法糖和广泛使用的 JS 类库试图掩盖这个现实,但是你迟早会面对它:其他语言中的类和 JS 中的类并不一样。
在软件设计中类是一种可选的的模式,需要自己决定是否在 JS 中使用它。由于许多开发者都非常喜欢面向类的软件设计,在本章的剩余部分总介绍如何在 JS 中实现类以及存在的一些问题,我们一起学习