我在下面有一个类 Action。已定义 _actionOver 和 _peopleAffected 的默认值。
class Action {
constructor(staffName, description, actionOver, peopleAffected){
this._staffName=staffName;
this._description=description;
this._actionOver=false;
this._peopleAffected=0;
}
现在我定义了此类的一个新对象,并更改了 actionOver 和 _peopleAffected 的值
let a= new Action ('Raul', 'Goal 1: Qaulity Education', true,10);
当我在控制台中打印此内容时
console.log(a._actionOver); *// gives false
console.log(a._peopleAffected); *// gives 0*
如果我更改了对象中的值,它不应该给出 true 和 10 作为输出吗?如果不是,我如何更改构造函数属性的默认值?
最佳答案
您只是忽略构造函数参数并始终分配相同的初始值。
我猜你实际上想使用 default parameter values ?
class Action {
constructor(staffName, description, actionOver = false, peopleAffected = 0){
// ^^^^^^^^ ^^^^
this._staffName = staffName;
this._description = description;
this._actionOver = actionOver;
// ^^^^^^^^^^
this._peopleAffected = peopleAffected;
// ^^^^^^^^^^^^^^
}
关于javascript - 更改 Javascript 构造函数类中属性的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58599599/