【问题标题】:Should I use let or var when implementing a singleton?实现单例时应该使用 let 还是 var?
【发布时间】:2021-12-24 08:14:23
【问题描述】:

我了解两者之间的区别(let 将引用锁定在块内,而 var 声明了一个可在范围范围内访问的变量。

但考虑到基于模块的单例模式:

var singleton = null;

module.exports = () => singleton ? singleton : singleton = newInstance();

我应该使用 let 或 var 声明单例变量吗?考虑到 CommonJS 模块导入/导出,有什么区别吗?

【问题讨论】:

  • 如果您不在函数内部,则差异可以忽略不计。

标签: javascript node.js singleton commonjs


【解决方案1】:

当我们谈论单例实现时,let 或 var 之间没有区别。我已经在我的 IDE 中检查了它。考虑到使用“let”是更好的做法,我建议您完全使用“let”关键字。

【讨论】:

    【解决方案2】:

    如果要在“var”或“让”之间进行选择,最好的选择是“让”,因为“让”消除了变量提升容易出错的行为的区别之一,您可以阅读以下规范:@ 987654321@。 但是你应该考虑只使用 const 作为你的默认变量,因为大多数错误都涉及意外的状态更改,你可以用来保证变量值和状态的一切都应该用来避免这种最常见的问题。

    【讨论】:

      【解决方案3】:

      您已经考虑改用const?

      我一直使用 const 并且从来没有遇到过问题,因为你永远不会重新评估整个对象。

      【讨论】:

      • 如果我想将 const 重新分配给一个新实例,我不能使用它。
      猜你喜欢
      • 1970-01-01
      • 2021-12-24
      • 2020-06-02
      • 2017-08-05
      • 2011-10-17
      • 2014-03-21
      • 2021-10-23
      • 2020-02-17
      • 2015-04-07
      相关资源
      最近更新 更多