有没有办法让一个没有参数调用的函数?例如,我有这个类
export class Student {
constructor(ssn) {
this.SSN = ssn;
}
SocialSecurityNumber() {
return this.SSN;
}
}
我希望能够做到这一点:
let student = new Student(123456);
console.log(student.SocialSecurityNumber);
现在这不起作用了,但是我可以使用一种语法来实现这个目标吗?
答案 0 :(得分:4)
只是添加一个用括号student.socialSecurityNumber()
调用函数的替代方法,你可以把它变成一个吸气剂:
class Student {
constructor(ssn) {
this.SSN = ssn;
}
get socialSecurityNumber() {
return this.SSN;
}
}
const student = new Student(123456);
console.log(student.socialSecurityNumber);
这样你可以使用与属性相同的语法来调用它。
答案 1 :(得分:1)
如果您支持Object方法,则可以添加类似于您在C#中看到的语法糖的对象属性。
基本上,
Object.defineProperty(this,
'SocialSecurityNumber',
{
get: function() { return this.SocialSecurityNumber(); }
}
在构造函数中