在本教程中,您将借助示例了解 JavaScript 类。
类是ES6版本的 JavaScript 中引入的特性之一。类是对象的蓝图。您可以从类中创建一个对象。
您可以将类视为房屋的草图(原型)。它包含有关地板、门、窗等的所有详细信息。根据这些描述,您可以建造房屋。房屋是对象。
由于可以从相同的描述中建造许多房屋,因此我们可以从一个类中创建许多对象。
JavaScript 类类似于 Javascript 构造函数,只是一个语法糖。
构造函数定义为:
// constructor function
function Person () {
this.name = 'John',
this.age = 23
}
// create an object
const person1 = new Person();
不使用 function 关键字,而是使用 class 关键字来创建JS类。例如,
// creating a class
class Person {
constructor(name) {
this.name = name;
}
}
class 关键字用于创建类。属性在构造函数中分配。
现在您可以创建一个对象。例如,
// creating a class
class Person {
constructor(name) {
this.name = name;
}
}
// creating an object
const person1 = new Person('John');
const person2 = new Person('Jack');
console.log(person1.name); // John
console.log(person2.name); // Jack
这里,person1 和 person2 是 Person 类的对象。
注意:每次创建对象时,都会自动调用类中的 constructor() 方法。
在使用构造函数时,可以将方法定义为:
// constructor function
function Person (name) {
// assigning parameter values to the calling object
this.name = name;
// defining method
this.greet = function () {
return ('Hello' + ' ' + this.name);
}
}
在 JavaScript 类中定义方法很容易。您只需给出方法的名称,后跟 ()。例如,
class Person {
constructor(name) {
this.name = name;
}
// defining method
greet() {
console.log(`Hello ${this.name}`);
}
}
let person1 = new Person('John');
// accessing property
console.log(person1.name); // John
// accessing method
person1.greet(); // Hello John
注意:要访问对象的方法,需要在其名称后跟()来调用该方法。
在 JavaScript 中,getter 方法获取对象的值,setter 方法设置对象的值。
JavaScript 类包括 getter 和 setter。getter 方法使用 get 关键字,setter 方法使用 set 关键字。例如,
class Person {
constructor(name) {
this.name = name;
}
// getter
get personName() {
return this.name;
}
// setter
set personName(x) {
this.name = x;
}
}
let person1 = new Person('Jack');
console.log(person1.name); // Jack
// changing the value of name property
person1.personName = 'Sarah';
console.log(person1.name); // Sarah
在使用类之前,应该先定义它。与函数和其他 JavaScript 声明不同,类不会被提升。例如,
// accessing class
const p = new Person(); // ReferenceError
// defining class
class Person {
constructor(name) {
this.name = name;
}
}
如您所见,在定义类之前访问它会抛出一个错误。
类总是遵循“严格模式”。类中的所有代码都自动处于严格模式。例如,
class Person {
constructor() {
a = 0;
this.name = a;
}
}
let p = new Person(); // ReferenceError: Can't find variable: a
注意:JavaScript 类是一种特殊类型的函数。typeof 运算符返回 function。
例如,
class Person {}
console.log(typeof Person); // function
上一教程 :Destructuring Assignment 下一教程 :JS Inheritance
[1] Parewa Labs Pvt. Ltd. (2022, January 1). Getting Started With JavaScript, from Parewa Labs Pvt. Ltd: https://www.programiz.com/javascript/classes
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/zsx0728/article/details/124634941
内容来源于网络,如有侵权,请联系作者删除!