当前位置:首页 > JavaScript

js class实现

2026-01-31 22:47:07JavaScript

JavaScript 类实现

在 JavaScript 中,可以使用 class 关键字来实现面向对象的编程。类是一种模板,用于创建对象,可以包含构造函数、方法和属性。

基本类定义

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }

  greet() {
    console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
  }
}

创建实例

const person1 = new Person('Alice', 30);
person1.greet(); // 输出: Hello, my name is Alice and I am 30 years old.

继承

类可以通过 extends 关键字实现继承,子类可以继承父类的属性和方法。

class Student extends Person {
  constructor(name, age, grade) {
    super(name, age);
    this.grade = grade;
  }

  study() {
    console.log(`${this.name} is studying in grade ${this.grade}.`);
  }
}

使用子类

const student1 = new Student('Bob', 20, 'A');
student1.greet(); // 输出: Hello, my name is Bob and I am 20 years old.
student1.study(); // 输出: Bob is studying in grade A.

静态方法

静态方法属于类本身,而不是类的实例。可以通过类名直接调用。

class MathUtils {
  static add(a, b) {
    return a + b;
  }
}

console.log(MathUtils.add(5, 3)); // 输出: 8

Getter 和 Setter

可以使用 getset 关键字定义属性的访问器。

class Rectangle {
  constructor(width, height) {
    this._width = width;
    this._height = height;
  }

  get area() {
    return this._width * this._height;
  }

  set width(value) {
    if (value > 0) {
      this._width = value;
    }
  }
}

使用 Getter 和 Setter

const rect = new Rectangle(10, 20);
console.log(rect.area); // 输出: 200
rect.width = 15;
console.log(rect.area); // 输出: 300

私有字段

ES2022 引入了私有字段,通过在字段名前加 # 来定义私有属性。

js class实现

class Counter {
  #count = 0;

  increment() {
    this.#count++;
  }

  getCount() {
    return this.#count;
  }
}

使用私有字段

const counter = new Counter();
counter.increment();
console.log(counter.getCount()); // 输出: 1

JavaScript 的类提供了一种清晰和结构化的方式来组织和复用代码,适合构建复杂的应用程序。

标签: jsclass
分享给朋友:

相关文章

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div i…

js实现代码雨

js实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <htm…