首页 > 解决方案 > 如果我们在 JS 中省略构造函数怎么办

问题描述

我是 JS 的新手,正在学习放在类中的类和构造函数,但我想知道如果我们在类中省略构造函数,幕后会发生什么。例如,

class UI{

this.box = document.querySelector(".box");
this.footer = document.querySelector(".footer");

render(){
.......
}

}

上面的代码是否等同于

class UI{

constructor(){}

this.box = document.querySelector(".box");
this.footer = document.querySelector(".footer");

render(){
.......
}

}

因此,如果我们省略构造函数,那么我们将无法在新创建的 UI 实例中访问变量 box 和 footer。那正确吗?

标签: javascript

解决方案


从功能上讲,没有区别。constructor是可选的。

因此,如果您的构造函数为,您可以选择将其省略:

在此处输入图像描述

注意左边的变量没有指定构造函数,但仍然有一个。这是默认构造函数,当没有指定构造函数时:

constructor() {}

对于派生类,默认构造函数是不同的:

constructor(...args) {
  super(...args);
}

推荐阅读