javascript - 使用 new 关键字在构造函数中创建类的实例是不好的做法吗?
问题描述
我有 Javascript 类,需要其他类中的一个对象。我的问题是哪个更好?
从类定义中创建类的实例还是在构造函数中创建?
示例代码:
const b = new B();
class A {
// and then use b
}
// or
class A {
constructor() {
const b = new B();
}
}
解决方案
无论哪个类控制其他对象的生命周期,都会创建这些对象。
在您的示例中,如果A
控制特定实例B
的生命周期,则可以B
在构造函数中创建。
但是,如果另一个类从 控制(或拥有)对象的生命周期,则应在构造函数中传递B
的实例。B
A
测试很简单:负责其他对象生命周期的类负责创建这些对象。
推荐阅读
- javascript - 如何在使用 React 测试库的集成测试中避免“行为”警告
- ios - 如何在一个Viewcontroller下设置xib视图的IBAction(这个xib视图下会有视图A和视图B)
- javascript - 如何在通过拖动角调整 d3 svg 形状的大小时保持纵横比?
- python - 如何使用 Numpy 数组查找给定值的 x 和 y 坐标
- r - 根据条件计算 R 中的平均值
- powershell - Powershell - 检查 ForEach 的所有元素是否都等于某物
- python - 加载图像组并标记它们
- javascript - 为什么当我在 Discord.js 中使用 ${client.guilds.cache.size} 时它显示 0?
- python - 在 Python 中使用正则表达式搜索字符串
- java - 为什么我有一个 jboss 规范编译错误?