ES6如何声明一个类?类如何继承?

在 JavaScript 中,您可以使用关键字 class 来声明一个类。类是一种模板,用于创建对象的构造函数,其中包含了属性和方法。以下是声明一个类的基本语法:

javascript 复制代码
class ClassName {
  constructor() {
    // 构造函数,用于创建对象实例时初始化属性
    this.propertyName = value;
  }

  // 方法定义
  methodName() {
    // 方法体
  }
}

在上述示例中,ClassName 是类的名称,constructor 是类的构造函数,用于初始化类的属性。您可以在构造函数中为对象添加属性和进行初始化。

要创建类的实例,可以使用 new 关键字,如下所示:

javascript 复制代码
const instance = new ClassName();

继承是面向对象编程中的一个重要概念,它允许一个类继承另一个类的属性和方法。在 JavaScript 中,您可以使用 extends 关键字来创建类的继承关系。以下是一个简单的继承示例:

javascript 复制代码
class Parent {
  constructor(name) {
    this.name = name;
  }

  sayHello() {
    console.log(`Hello, ${this.name}!`);
  }
}

class Child extends Parent {
  constructor(name, age) {
    super(name); // 调用父类的构造函数
    this.age = age;
  }

  sayAge() {
    console.log(`${this.name} is ${this.age} years old.`);
  }
}

const child = new Child('Alice', 5);
child.sayHello(); // 输出:Hello, Alice!
child.sayAge();   // 输出:Alice is 5 years old.

在上面的示例中,Child 类继承了 Parent 类的属性和方法。使用 super 关键字调用父类的构造函数以初始化父类的属性。这使得 Child 类可以访问 Parent 类的属性和方法,同时还可以定义自己的属性和方法。

继承是一种强大的机制,允许您建立类之间的关系,并在子类中扩展或修改父类的行为。这在创建复杂的对象模型和应用程序中非常有用。

相关推荐
锋行天下30 分钟前
DeepSeek写Langgraph就是个大傻逼,一本正经胡说八道
前端·人工智能·后端
jktantan1 小时前
每个节点 41 字节:把一棵百万节点树拆进 14 个 typed array
前端·javascript·vue.js·算法·typescript
计算机魔术师1 小时前
Anthropic官方插件被「寄生」,背后是同一类攻击又来了
前端
我命由我123451 小时前
访客系统形式(有用户概念、无用户概念)
java·开发语言·前端·javascript·python·产品运营·产品经理
key_3_feng2 小时前
评估与对齐:Agent 自我进化的护栏
前端·数据库·agent
LaughingZhu2 小时前
Product Hunt 热榜 2026-10-30:Empacer、Scape、Floot in ChatGPT
java·前端·数据库·人工智能·chatgpt·notion
Lank_M3 小时前
抠图结果缩放后边缘发脏,该怪的不是插值
前端
jerrywus3 小时前
Skill、MCP、Workflow、Rules、Memory 有什么区别?拿几次真实开发任务讲清楚
前端·agent·claude
补码缩写3 小时前
canvas 与 sharp 缩放透明图:默认预乘,非预乘得拆通道
前端
静默回滚3 小时前
抠图 PNG 缩小再放大,边缘又糊又白是两件事
前端