类是对象的模板/蓝图。它们简化了创建具有类似属性和方法的多个对象的过程。类在ES5中没有出现,在ES6版本的JavaScript中被引入。类只是JavaScript中的语法糖,建立在原型之上,在幕后以同样的方式工作。
如何在JavaScript中使用类
让我们以一个程序员为例,他要为五个不同的用户制作五个对象。他将写下以下代码。
constuser1= {
fName: "Mary" ,
lName: "Jane" ,
age: 23 ,
id: 01
};
const user2 ={
fName:"John" ,
lName: "Doe" ,
age: 47 ,
id: 02
};
const user3 = {
fName:"Jane" ,
lName:"Doe" ,
age: 34 ,
id: 03
};
constuser4 = {
fName: "John" ,
lName: "Smith" ,
age:18,
id: 04
};
const user5 = {
fName: "Mary" ,
lName: "Anne" ,
age:22 ,
id: 05
};
在上面的例子中,代码有很多重复性,因为所有的对象都有类似的属性。我们可以很容易地消除代码中的重复性,并通过使用类使其更有组织。
在JavaScript中,class 关键字被用来创建一个类。JavaScript中的类使用一个名为**constructor()**的方法。它在创建一个新对象时自动执行。它可以初始化对象的属性。
classUser{
constructor(firstName, lastName, age, id) {
this. fName =firstName;
this. lName =lastName;
this. age = age;
this. id = id;
}
}
在上面的例子中,我们创建了一个名为User的新类。它是我们要制作的所有用户对象的模板/蓝图。构造函数需要四个参数,并为每个对象建立四个属性。这些属性被命名为fName、lName、age 和id,可以通过使用以下语法来访问(在我们创建了对象之后
object_name.property_name
例子中的'this' 关键词指的是拥有age 属性的对象。这个关键字是用来访问对象中的属性值的。
现在我们将使用User 类创建第一个例子中所示的用户对象。
classUser{
constructor(firstName, lastName, age, id) {
this. fName =firstName;
this. lName =lastName;
this. age = age;
this.id =id;
}
}
const user1 = newUser('Mary','Jane', 23, 01);
const user2 = new User('John', 'Doe',47, 02);
constuser3= newUser('Jane', 'Doe', 34,03);
constuser4 =new User('John','Smith', 18, 04);
const user5 =newUser('Mary', 'Anne', 22, 05) 。
在这里,你可以看到代码已经变得更加可读了。
什么是JavaScript类中的方法
我们也可以在JavaScript中为类添加方法。通过使用与对象相同的语法,这些方法可以很容易地添加到类的构造函数之后的主体中。
classUser{
constructor(firstName, lastName, age, id) {
this. fName =firstName;
this. lName =lastName;
this. age = age;
this.id =id;
}
birthYear() {
const date = newDate();
letYear = date. getFullYear() - this.age;
returnYear;
}
}
const user1 = new User('Mary','Jane', 23,01);
const user2 = new User('John','Doe',47, 02);
constuser3 = newUser('Jane','Doe', 34, 03);
const user4= newUser(' John', 'Smith', 18, 04);
const user5 = newUser('Mary',' Anne', 22, 05) 。
现在,如果我们尝试访问birthYear() 方法,并使用console.log() 方法在控制台打印它,那么我们将得到以下输出。
console.log(user1.birthYear());
console.log(user2.birthYear());
console.log(user3.birthYear();
console. log(user4.birthYear());
console. log(user5.birthYear());
如何使用Getter和Setter方法
Getter和Setter方法可以在一个类中用来获取和设置一个对象中的属性值。使用get 或set 关键字来分别使用getter或setter方法。
classUser{
constructor(firstName, lastName, age, id) {
this. fName =firstName;
this. lName =lastName;
this. age = age;
this.id =id;
}
get userAge() {
returnthis. age;
}
set userAge(i){
this.age =i;
}
}
const user1 = new User('Mary','Jane', 23,01);
console. log(user1.age); // will output 23
// settingthe age property的值
user1.userAge= 24;
console. log(user1.age); // will output 24
结论
类是代码模板,用于创建具有类似属性和方法的新对象。当编码员需要制作几个具有类似属性的不同对象时,它们就会派上用场。
在本篇文章中,我们讨论了类。我们学习了如何使用它们来创建对象。此外,我们还学习了如何使用类向对象添加不同的方法。