Ami*_*ole 0 javascript parameters constructor
如果没有选项对象传递到我的构造函数中,我想设置默认值'small':
var Plan = function(options){
this.name = options.name || 'small';
}
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时:
var smallPlan = new Plan();
console.log(smallPlan.name);
Run Code Online (Sandbox Code Playgroud)
我明白了 Uncaught TypeError: Cannot read property 'name' of undefined
我究竟做错了什么?这不是在javascript中设置默认参数值的惯用方法吗?
而不是使代码复杂化以检查选项和名称是否存在,检查对象是否已定义,如果没有,则将其设置为空对象.
var Plan = function(options){
options = options || {};
this.name = options.name || 'small';
}
Run Code Online (Sandbox Code Playgroud)