javascript - 从构造函数启动单个实例并将其用作另一个类中的静态方法

标签 javascript class oop

我有一类在我的应用程序中使用的实用程序 它包含一个格式化数字的方法

class Utils {
    static numberFormater () {
        return new Intl.NumberFormat('en-US')
    }
}

问题是每当我调用它时它都会返回新的 numberFormat 实例(这会影响代码的性能)

我想创建一个实例并在调用此方法时使用它

最佳答案

为什么不直接创建数字格式化程序的实例呢?甚至不需要是静态属性:

class Util {
  constructor () {
    this.numberFormatter = new Intl.NumberFormat('en-US');
  }
}

const util = new Util;

const formatter1 = util.numberFormatter;
const formatter2 = util.numberFormatter;

console.log(formatter1 === formatter2);

关于javascript - 从构造函数启动单个实例并将其用作另一个类中的静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51200972/

相关文章:

javascript - 如何添加/更新查询字符串链接到现有 URL 的末尾

javascript - super 函数如何访问子类中的另一个 super 函数?

javascript - 刚看到一个用 JavaScript 创建的工厂样式对象(没有文字)。我还需要知道什么?

python - kivy:如何更新对象属性?

c++ - 在 C++ 中声明具有另一个类型的类中的属性

c# - 重载时为什么不考虑函数的返回类型?

javascript - 在 "protractor' 中找不到模块

C++ 作用域运算符分组?

c++ - 返回类的新实例

c++ - 循环包含,我如何在不改变类层次结构的情况下解决这个问题