Menu
CoddyTech

计算属性

本课属于 Coddy JavaScript 学习旅程的“面向对象编程”单元。第 44 课,共 56 课。

计算属性是用于计算并返回值的 getter,而不是只返回存储的数据。它们看起来像普通属性,但会即时计算值。

我们来看这个例子。我们有一个带有普通属性的对象:

const circle = {
  radius: 5
};

现在,我们使用 getter 添加一个计算属性:

const circle = {
  radius: 5,
  get diameter() {
    return this.radius * 2;
  }
};

我们这样访问计算属性:

console.log(circle.diameter); // 输出:10

如果我们更新半径,直径也会自动更新:

circle.radius = 10;
console.log(circle.diameter); // 输出:20

当属性的值取决于其他属性或需要经过计算时,计算属性就很有用。

challenge icon

挑战

已为你提供一个带有宽度和高度属性的 Rectangle 类。你的任务是添加计算属性,用于计算面积和周长。

  1. 计算属性 area,返回宽度 × 高度
  2. 计算属性 perimeter,返回 2 ×(宽度 + 高度)

亲手试试

import { Rectangle } from './rectangle.js';

// 测试代码,请勿修改
const rect = new Rectangle(5, 10);
console.log(`Area: ${rect.area}`);        // 应输出 "Area: 50"
console.log(`Perimeter: ${rect.perimeter}`); // 应输出 "Perimeter: 30"
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

面向对象编程中的所有课

自己练习: JavaScript 在线编译器