导入
简介
你将学习本章包含的主题,其中包括类、原型和生成器。
章节目录内容如下:
本章将探讨一些看似熟悉但实则不同的概念。多年来,开发者一直抱怨这些差异——他们认为 JavaScript 有问题,因为它不像其他面向对象语言那样运行。问题不在于它不同,而在于它足够相似,反而造成了混淆。
从 ES6 开始,情况变得更加复杂:JavaScript 引入了熟悉的语法,如 class、extend 和 static,但代码的行为并不总是符合来自其他面向对象语言开发者的预期。在本章中,你将认识到,尽管 JavaScript 的类使用了许多熟悉的概念,但它们的实现方式仍然存在显著差异。
首先,你将学习如何创建和扩展一个类,这与大多数面向对象语言的写法非常相似。接着,你会深入理解类在底层是如何通过类语法与 JavaScript 原型机制结合工作的。然后,你将学习如何使用 getter、setter 和生成器 来隐藏复杂性。最后,你将重新面对 this 关键字带来的常见问题,并掌握解决这些问题的技术。
请记住,JavaScript 中的类虽然有些不同,但仍保留了类语法带来的诸多优势,也继承了一些潜在的问题。类可以帮助你组织代码、创建对象实例并存储局部属性。但要始终意识到,JavaScript 是一门具有独特历史和编程范式的独立语言。学会如何利用类,融合你对 JavaScript 以及其他面向对象语言的理解。
接下来的技巧中,你将学习如何构建类。