reject-global-this

在 JSM 文件中禁止使用全局 this。全局 this 在 ESM 中不可用,此规则是为了迁移做准备。

此规则的错误代码示例:

this.EXPORTED_SYMBOLS = ["foo"];

XPCOMUtils.defineLazyModuleGetters(this, {
  AddonManager: "resource://gre/modules/AddonManager.jsm",
});

此规则的正确代码示例:

const EXPORTED_SYMBOLS = ["foo"];

const lazy = {};
XPCOMUtils.defineLazyModuleGetters(lazy, {
  AddonManager: "resource://gre/modules/AddonManager.jsm",
});