这个ES6课程中get
的含义是什么?我该如何参考这个功能?我应该如何使用它?
class Polygon {
constructor(height, width) {
this.height = height;
this.width = width;
}
get area() {
return this.calcArea()
}
calcArea() {
return this.height * this.width;
}
}
答案 0 :(得分:76)
这意味着该函数是属性的getter。
要使用它,只需像使用其他任何属性一样使用它的名称:
'use strict'
class Polygon {
constructor(height, width) {
this.height = height;
this.width = width;
}
get area() {
return this.calcArea()
}
calcArea() {
return this.height * this.width;
}
}
var p = new Polygon(10, 20);
alert(p.area);

答案 1 :(得分:17)
get
关键字会将对象属性绑定到函数。现在,当查询此属性时,将调用getter函数。然后,getter函数的返回值确定返回哪个属性。
const person = {
firstName: 'Willem',
lastName: 'Veen',
get fullName() {
return `${this.firstName} ${this.lastName}`;
}
}
console.log(person.fullName);
// When the fullname property gets looked up
// the getter function gets executed and its
// returned value will be the value of fullname
答案 2 :(得分:16)
它是getter,与OO JavaScript中的Objects和Classes相同。来自get
的MDN文档:
get
语法将对象属性绑定到将在查找该属性时调用的函数。
答案 3 :(得分:1)
或更简单的方法是,只需键入函数名称就可以调用函数而无需用户“()”
以上两个函数对person.fullName()和person.fullName的关注度相同
const person = {
firstName: 'Willem',
lastName: 'Veen',
fullName() {
return `${this.firstName} ${this.lastName}`;
}
}
console.log(person.fullName());
const person = {
firstName: 'Willem',
lastName: 'Veen',
get fullName() {
return `${this.firstName} ${this.lastName}`;
}
}
console.log(person.fullName);