window.myClass 不是构造函数
window.myClass is not a constructor
我有一个 ES6 class 文件,如下所示:
import { BaseClass } from './xm/classes/class-file.js';
export class myClass extends BaseClass {
constructor() {
super();
}
createFormSession(formId, payload) {
return new NewForm(formId, payload);
}
}
class NewForm {
constructor(formId, payload) {
this.formId = formId;
this.payload = payload;
}
}
我收到此错误,提示 myClass 不是构造函数。
所以它似乎期待 BaseClass 但它找不到它,我不清楚为什么,当它在我的本地开发服务器上工作时。
导致错误的实际代码行是第一个 constructor()
函数被引用的地方,错误出现在 Chrome 浏览器的控制台中。
调用方式:
var defaultUIHandler = new window.myClass()
我也试过:
var defaultUIHandler = new window.myClass()
ES6 class 名称不会像浏览器中的其他顶级变量一样自动添加到全局对象。这是 ES6 规范的一部分。因此,除非您专门将它们指定为 window
对象的属性,否则您无法通过 window
对象访问它们。
所以,这段代码:
var defaultUIHandler = new window.myClass()
将无法正确找到 myClass
,因为默认情况下它不是 window
对象的 属性。如果您已在此范围内定义 myClass
或将其导入此范围,那么您应该可以这样做:
var defaultUIHandler = new myClass();
我有一个 ES6 class 文件,如下所示:
import { BaseClass } from './xm/classes/class-file.js';
export class myClass extends BaseClass {
constructor() {
super();
}
createFormSession(formId, payload) {
return new NewForm(formId, payload);
}
}
class NewForm {
constructor(formId, payload) {
this.formId = formId;
this.payload = payload;
}
}
我收到此错误,提示 myClass 不是构造函数。
所以它似乎期待 BaseClass 但它找不到它,我不清楚为什么,当它在我的本地开发服务器上工作时。
导致错误的实际代码行是第一个 constructor()
函数被引用的地方,错误出现在 Chrome 浏览器的控制台中。
调用方式:
var defaultUIHandler = new window.myClass()
我也试过:
var defaultUIHandler = new window.myClass()
ES6 class 名称不会像浏览器中的其他顶级变量一样自动添加到全局对象。这是 ES6 规范的一部分。因此,除非您专门将它们指定为 window
对象的属性,否则您无法通过 window
对象访问它们。
所以,这段代码:
var defaultUIHandler = new window.myClass()
将无法正确找到 myClass
,因为默认情况下它不是 window
对象的 属性。如果您已在此范围内定义 myClass
或将其导入此范围,那么您应该可以这样做:
var defaultUIHandler = new myClass();