gpt4 book ai didi

javascript - 什么时候在 Polymer 2.0 中使用 constructor 和 super?

转载 作者:行者123 更新时间:2023-11-30 09:32:28 25 4
gpt4 key购买 nike

以下模式在构建 Polymer 2.0 ES6 web 组件时被大量使用。

constructor() {
super();
}

Here the documentation describes calling the super(); function when defining an element.

However here in the Shop App该模式在以下元素中仅出现 3 次:shop-app.html、shop-ripple-container.html、shop-tabs-overlay.html。

我们什么时候需要调用super()?此调用何时需要在 constructor() 函数内?在 the Shop app 的情况下不调用 super() 的后果是什么? ?

编辑:一位用户 (@4caSTLe) 提出了这个问题 might be a duplicate of this question .我恭敬地不同意。这个问题涉及 Polymer,而另一个问题涉及 React。另一个问题询问传递给 super() 函数的参数。这个问题想知道当 super() 没有被调用时会发生什么,以及调用的最佳位置在哪里(即是否在 constructor() 内部)。

最佳答案

When do we need to call super()?

super() 调用元素的父类(super class)(父类)的构造函数。如果元素的定义定义了一个扩展另一个类的类,并且未显式调用 super(),则该元素默认调用父类(super class)的构造函数。

When does this call need to be inside the constructor() function?

调用 super() 的正确位置是在元素的 constructor() 方法中。

And what are the consequences of not calling super() as appears in the case of the Shop app?

在这种情况下,

class MyElement extends Polymer.Element {...}

与 Shop App 的情况一样 — 如果未显式调用 super(),则默认调用 Polymer.Element 构造函数。

关于javascript - 什么时候在 Polymer 2.0 中使用 constructor 和 super?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45471606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com