返回
第四天:ES6+ class 对象的声明与使用
前端
2023-12-23 04:35:07
第四天,他成为了别人眼中的对象。他会吃饭,会上班挣钱,会摸鱼,会骑电动车。至于这些事情怎么安排怎么组合,已经不再重要了,重要的…
是,这便是他在 ES6+ 中的对象,虽然每天都有一些细微的差别,但是过程其实大同小异,但是一个变量发生变化,必然会导致其他的相关的事情跟着发生变化。
在 ES6+ 中,class 用于声明对象,class 之后紧跟着的是类名,类名首字母应大写。class 主体由一对花括号({})组成,花括号内可以定义属性和方法。
属性
属性是对象的特征或品质,在 ES6+ 中,可以使用两种方式定义属性:
- 数据属性: 数据属性包含一个值,可以使用 let 或 const 关键字声明。例如:
class Person {
let name = 'John';
const age = 25;
}
- 访问器属性: 访问器属性用于获取或设置属性的值,可以使用 get 和 set 关键字声明。例如:
class Person {
get name() {
return this._name;
}
set name(value) {
this._name = value;
}
}
方法
方法是对象的行为或动作,在 ES6+ 中,可以使用两种方式定义方法:
- 实例方法: 实例方法可以被类中的每个实例访问,可以使用 function 关键字声明。例如:
class Person {
function sayHello() {
console.log('Hello, world!');
}
}
- 静态方法: 静态方法只能被类本身访问,不能被类中的实例访问,可以使用 static 关键字声明。例如:
class Person {
static createPerson(name, age) {
return new Person(name, age);
}
}
继承
继承允许一个类从另一个类继承属性和方法,在 ES6+ 中,可以使用 extends 关键字声明继承关系。例如:
class Employee extends Person {
function doWork() {
console.log('I am working!');
}
}
多态
多态是指同一个方法在不同的对象上可以产生不同的结果,在 ES6+ 中,多态可以应用于继承关系中。例如,如果父类 Person 有一个 sayHello() 方法,那么子类 Employee 也可以有一个 sayHello() 方法,但是子类 Employee 的 sayHello() 方法可能会产生不同的结果。
封装
封装是指将对象的属性和方法隐藏起来,只允许通过特定的方法来访问它们,在 ES6+ 中,可以使用 private 关键字来声明私有属性和方法。例如:
class Person {
private name = 'John';
function sayHello() {
console.log(`Hello, my name is ${this.name}.`);
}
}
总结
ES6+ 中的 class 对象提供了一种新的方式来组织和管理数据,class 对象可以用来表示现实世界中的实体,如人、动物、事物等,也可以用来表示抽象的概念,如数学模型、算法等。class 对象的声明和使用非常简单,但是它却可以非常强大。通过使用 class 对象,我们可以创建出更加复杂和可重用的代码。