javascript - JS中如何避免重复的类定义

标签 javascript class oop

我在脚本中声明了一个类,如下所示;

class XYPT {
constructor(x, y) {
this.x = x;
this.y = y;
}
}

由于某些原因,我必须使用 jquery getscript 方法多次加载此脚本。当我尝试定义此类时,它给我一个错误“标识符‘XYPT’已被声明”。

是否可以检查一个类之前是否声明过?我正在寻找这样的东西,

(isDeclaredBefore(XYPT))
{
//do nothing
}
else
{
  class XYPT {
    constructor(x, y) {
    this.x = x;
    this.y = y;}
  }
}

最佳答案

你的问题很合理。

每个人都应该首先组织代码和导入以防止类重新声明,但在极少数情况下,您可以在声明之前检查类是否存在。

已建议@Eldar,我们将使用类表达式,但他的示例并不是最容易理解的。

if (typeof window.MyClassFooBar === 'undefined') {
    window.MyClassFooBar = class {
        constructor(settings) {
             this.settings = settings;
        }

        doStuff() {
             /* ... */
        }
   }
}

关于javascript - JS中如何避免重复的类定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59021187/

相关文章:

PHP:如何将现有的数据库连接传递给静态类方法?

javascript - 数组转换为字符串

javascript - webpack-dev-server 在语法错误后停止编译,需要重新启动

Javascript:使用类表达式向原型(prototype)添加属性

c++ - 如何访问前向声明类的成员

swift - swift 如何在转换的继承类上传递重写方法调用?

javascript - 在一个列表框中选择多个术语 asp c#

javascript - 将字符串替换为 react 中的标记

asp.net - VB.NET 接口(interface)

没有对象的 MATLAB 构造函数/接口(interface)类