首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用超级()-constructor时,不会初始化空的最终字段

使用超级()-constructor时,不会初始化空的最终字段。

超级()-constructor是JavaScript中的一个特殊方法,用于在子类的构造函数中调用父类的构造函数。当使用超级()-constructor时,它会执行父类的构造函数,但不会初始化空的最终字段。

最终字段是指在类中声明的没有初始值的字段。在父类的构造函数中,如果没有为最终字段赋值,它们将保持未定义的状态。当子类使用超级()-constructor调用父类的构造函数时,父类的构造函数不会初始化这些最终字段,而是将它们保持为未定义。

这种行为可能会导致一些问题,因为在子类中使用这些最终字段时,它们可能会导致错误或异常。为了避免这种情况,我们应该在子类的构造函数中手动初始化这些最终字段,以确保它们具有适当的值。

以下是一个示例代码,演示了使用超级()-constructor时不会初始化空的最终字段的情况:

代码语言:txt
复制
class Parent {
  constructor() {
    this.finalField;
  }
}

class Child extends Parent {
  constructor() {
    super();
    console.log(this.finalField); // 输出 undefined
  }
}

const child = new Child();

在上面的代码中,Parent类有一个最终字段finalField,它在构造函数中没有被初始化。Child类继承了Parent类,并在构造函数中使用超级()-constructor调用了父类的构造函数。当我们创建Child类的实例时,finalField的值将为undefined,因为父类的构造函数没有为它赋值。

为了解决这个问题,我们可以在Child类的构造函数中手动初始化finalField,如下所示:

代码语言:txt
复制
class Child extends Parent {
  constructor() {
    super();
    this.finalField = 'initialized';
    console.log(this.finalField); // 输出 'initialized'
  }
}

const child = new Child();

在上面的代码中,我们在Child类的构造函数中为finalField赋了一个初始值。这样,当我们创建Child类的实例时,finalField的值将为'initialized',而不是undefined。

总结: 使用超级()-constructor时,不会初始化空的最终字段。为了避免最终字段的未定义问题,我们应该在子类的构造函数中手动初始化这些字段。

相关搜索:创建spring boot bean时出错-“空的最终字段em可能尚未初始化”当所有属性都为空/空值时,如何使用可为空的字段验证RequestBody当字段为空并已提交时,输入的必需参数不会弹出使用django rest框架中的修补程序更新计算字段时,计算字段不会更新仅当字段为空时,使用今天的日期填写Acrobat表单日期字段当设置为空时,通过UIStoryboard.instantiateViewController初始化的UIViewController在单元测试期间不会取消初始化当使用hibernate-envers时,AUD表中的所有@Version字段都为空,但在entity - table中填充的字段是空的吗?检查带有选项字段的案例类,以确保使用无形状HList时所有这些字段均为空在Power Automate my Send HTTP request to SharePoint中,使用Patch方法不会将SharePoint列表中的字段更新为空在使用JAXB时,如果有未初始化的final字段,如何引入无参数构造函数?当我们尝试使用绑定变量更新WHERE子句中存在的字段时,更新表失败,绑定变量可能为空或不为空在kubernetes中使用`status.hostIP`作为我的环境变量的引用字段时,变量为空为什么在使用Knex.js/Objection时,我的所有数据都默认为空?我根本不会通过useNullAsDefault如何在表单的javascript中添加验证,使其不会在最后一行为空时附加表单(在所有字段之前不应创建另一行)Angular 2-当返回一个空的可观察对象时,使用扁平映射的同步http调用不会执行下一个调用我的应用程序中的一个字段有2个html代码。当我在它的Xpath中使用OR时,它不会检测到元素。有没有人能帮我做一个合适的xpath
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券