javascript - 在Javascript中更改构造函数类中属性的默认值
问题描述
我在下面有一个班级行动。定义了_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作为输出吗?如果不是,如何更改构造函数属性的默认值?
解决方案
您只是忽略构造函数参数并始终分配相同的初始值。
我猜您实际上想使用默认参数值?
class Action {
constructor(staffName, description, actionOver = false, peopleAffected = 0){
// ^^^^^^^^ ^^^^
this._staffName = staffName;
this._description = description;
this._actionOver = actionOver;
// ^^^^^^^^^^
this._peopleAffected = peopleAffected;
// ^^^^^^^^^^^^^^
}
推荐阅读
- javascript - 如何在 QUnit 测试中禁用“console.log”?
- html - 如何查找、导入和使用特定字体?
- mysql - MYSQL GroupBy with Join:与 sql_mode=only_full_group_by 不兼容
- c# - 了解进度类
- python - 从文件中读取数据时出现“列表索引超出范围”
- node.js - 如何使用 nodejs 从 req.body 发送数据
- javascript - 如何使操作员在不重新加载页面的情况下工作?JS
- python - 硒与python:InvalidSelectorException
- c++ - C++中栈的实现问题
- c# - 如何在不使用 C# 按住 CTRL 键的情况下选择 UI 网格中的多行?