在过去,JavaScript 是一门基于原型的面向对象编程语言,没有 Class 和模块化的概念。这导致了代码的组织结构混乱,难以维护和扩展。
类和对象
我们生活中有很多的车,小车,汽车,自行车,火车,摩托车,电动车
他们都是属于“车”这么一类
具体的一辆你在2024年买的一辆四个轮子的小车,这就叫对象
class定义
class Animal{
name
age
constructor(name) {
this.name = name
this.age = 2
}
eat(){
console.log(`${this.name}在吃饭`)
}
}
const cat = new Animal("加菲猫")
console.log(cat)
cat.eat()
其中的constructor属于构造方法,name、age属于对象属性,eat属于对象方法
其中的eat方法是在原型上的

继承
使用class之后就能很方便的使用继承功能
使用extends 去继承父类
这样子类就有父类的属性和方法了
class Animal{
name
constructor(name) {
this.name = name
}
eat(){
console.log(`${this.name}在吃饭`)
}
}
// 猫继承动物的属性或方法
class Cat extends Animal{
color
constructor(name, color) {
super(name);
this.color = color
}
running(){
console.log("猫在行走")
}
}
const cat = new Cat("加菲猫", "白色")
console.log(cat)
其中的super()方法是用于实例化继承的类
静态属性和方法
只能由类去调用
class Animal{
static name = "动物"
static eat(){
console.log(`在吃饭`)
}
}
Animal.eat()
console.log(Animal.name)