创建 javascript 类的最佳方法是什么,以便可以通过传入对象文字来创建对象,同时维护类中设置的默认值。
var brett = new Person({
name: 'Brett'
,age: 21
//gender: 'male' //The default is female, so brett.gender will be female
});
最佳答案
可能通过像这样定义构造函数:
function Person(props) {
this.name = props.name;
this.age = props.age;
this.gender = props.gender || 'female';
}
...尽管如果您想传递虚假的性别(例如 ''
、0
、false
、null
或 undefined
)仍将使用默认值。如果这是一个问题,您可以执行以下操作:
function Person(props) {
// expected properties
this.name = props.name;
this.age = props.age;
// optional properties
var defaults = {
gender: 'female'
// etc
};
for (var k in defaults) {
this[k] = props.hasOwnProperty(k) ? props[k] : defaults[k];
}
}
关于javascript - 使用对象文字和默认值创建 javascript 类的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3665347/