javascript - 更改 Javascript 构造函数类中属性的默认值

标签 javascript class default-constructor

我在下面有一个类 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*

如果我更改了对象中的值,它不应该给出 true10 作为输出吗?如果不是,我如何更改构造函数属性的默认值?

最佳答案

您只是忽略构造函数参数并始终分配相同的初始值。
我猜你实际上想使用 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/

相关文章:

javascript - 如果窗口的宽度小于值则不运行脚本

css - Internet Explorer 多类

c++ - 使用不同的构造函数重新分配对象

C++中的继承构造函数安全

c++ - 当我定义一个具有该类的(非引用)返回类型的函数时,该类的哪个——默认构造函数或复制构造函数——被调用?

Javascript 图片 url 替换

php - 如何不允许用户提交链接? (html 表单/PHP/javascript)

javascript - 在 jquery datepicker 中获取导航月份的第一天和最后一天

c++ - 如何在 C++ 中调用另一个类中的类的构造函数?

__del__ 上的 Python attributeError