JavaScript 类:初学者指南
你好,未来的 JavaScript 大师们!今天,我们将踏上一段激动人心的旅程,探索 JavaScript 类的世界。如果你之前从未编写过一行代码,也不用担心——我将作为你的友好向导,我们会一步一步地学习。在本教程结束时,你将能够像一个专业人士一样创建你自己的类!
JavaScript 类是什么?
想象一下你在建立一个虚拟动物园。你不会想要单独描述每一种动物,对吧?这就是类派上用场的地方。类就像是一个用于创建对象的蓝图。它定义了该类型的所有对象应该具有哪些属性和行为。
让我们从一个简单的例子开始:
class Animal {
constructor(name, species) {
this.name = name;
this.species = species;
}
makeSound() {
console.log("这个动物发出声音");
}
}
在这个例子中,Animal
是我们的类。就像说,“我们动物园里的每一个动物都将有一个名字、一个种类,并且能够发出声音。”
定义 JavaScript 类
在 JavaScript 中定义类,我们使用 class
关键字,后面跟类的名称。类名通常以大写字母开头——这不是必需的,但这是一个常见的约定,有助于将类与其他类型的代码区分开来。
constructor() 方法
constructor()
方法是一个用于创建和初始化用类创建的对象的特殊方法。当我们从这类创建一个新对象时,它会自动被调用。
class Book {
constructor(title, author, year) {
this.title = title;
this.author = author;
this.year = year;
}
}
在这里,title
、author
和 year
是每个 Book
对象都将具有的属性。this
关键字指的是正在创建的对象。
创建 JavaScript 对象
现在我们有了类,让我们创建一些对象!
let myBook = new Book("了不起的盖茨比", "F. 斯科特·菲茨杰拉德", 1925);
console.log(myBook.title); // 输出:了不起的盖茨比
new
关键字用于创建我们 Book
类的新实例。就像说,“嘿,JavaScript,请根据这个 Book 蓝图给我做一本新书!”
JavaScript 类方法
方法是属于类的一个函数。它们定义了类的对象可以执行的行为。
class Dog {
constructor(name) {
this.name = name;
}
bark() {
console.log(`${this.name} 说:汪汪汪!`);
}
fetch(item) {
console.log(`${this.name} 抓住了 ${item}`);
}
}
let myDog = new Dog("巴迪");
myDog.bark(); // 输出:巴迪 说:汪汪汪!
myDog.fetch("球"); // 输出:巴迪 抓住了 球
在这个例子中,bark()
和 fetch()
是 Dog
类的方法。我们创建的每个 Dog
对象都将有这些能力。
JavaScript 类的类型
JavaScript 支持两种主要的类类型:
-
声明:这是我们到目前为止一直在使用的。
class Rectangle { // 类体 }
-
表达式:类也可以在表达式中定义。
let Rectangle = class { // 类体 };
两者都达到相同的结果,但类声明更常见,也更容易阅读。
JavaScript 类提升
与函数声明不同,类声明不会被提升。这意味着在代码中定义之前,你不能使用一个类。
// 这将抛出一个错误
let p = new Rectangle(); // 引用错误
class Rectangle {}
总是在使用之前定义你的类!
类的严格模式
这里有一个有趣的事实:类的主体总是执行在严格模式下。这意味着什么呢?就像有一个严格的老师,不允许你写出糟糕的代码。例如:
class StrictClass {
method() {
undeclaredVariable = 5; // 这将抛出一个错误
}
}
在严格模式下,你必须在使用之前声明变量。这有助于捕获常见的编码错误,并保持代码的整洁!
类方法表
下面是一些常见的类相关方法的便捷表格:
方法 | 描述 |
---|---|
constructor() |
初始化类的新实例 |
static |
为类定义一个静态方法 |
extends |
创建另一个类的子类 |
super |
调用父类构造函数 |
get |
定义一个获取器方法 |
set |
定义一个设置器方法 |
结论
恭喜你!你已经迈出了进入 JavaScript 类世界的第一步。记住,像学习任何新技能一样,熟能生巧。试着创建你自己的类——也许是一个带有 startEngine()
和 drive()
方法的 Car
类,或者是一个带有 useSpecialPower()
方法的 Superhero
类。
类是 JavaScript 中一个强大的工具,它允许你创建有组织的、可重用的代码。它们就像是编程的乐高积木——单独来看很简单,但组合在一起就能构建出惊人的东西。
继续编码,继续学习,在你意识到之前,你将能够轻松构建复杂的应用程序。快乐编码,未来的开发者们!
Credits: Image by storyset