JavaScript 计算属性

摘要:在本教程中,您将学习在 ES6 中引入的 JavaScript 计算属性。

JavaScript 计算属性简介

ES6 允许您在方括号 [] 中使用表达式。然后,它将使用表达式的结果作为对象的属性名。例如

let propName = 'c';

const rank = {
  a: 1,
  b: 2,
  [propName]: 3,
};

console.log(rank.c); // 3
Code language: JavaScript (javascript)

在此示例中,[propName]rank 对象的计算属性。属性名称来自 propName 变量的值。

当您访问 rank 对象的 c 属性时,JavaScript 会评估 propName 并返回该属性的值。

就像 对象字面量 一样,您可以将计算属性用于 getter 和 setter。例如

let name = 'fullName';

class Person {
  constructor(firstName, lastName) {
    this.firstName = firstName;
    this.lastName = lastName;
  }
  get [name]() {
    return `${this.firstName} ${this.lastName}`;
  }
}

let person = new Person('John', 'Doe');
console.log(person.fullName);Code language: JavaScript (javascript)

输出

John Doe

工作原理

get[name]Person 类 getter 的计算属性名称。在运行时,当您访问 fullName 属性时,person 对象会调用 getter 并返回全名。

总结

  • 计算属性允许您使用表达式的值作为对象的属性名称。
本教程对您有帮助吗?