window.foo
是全局对象。
如果我用console.log(window.foo)表示存在。
我想创建一个类来保存该对象,就像
class Globals {
static foo = window.foo;
}
但是如果我console.log(Globals.foo),它说未定义。我在做什么错了?
答案 0 :(得分:0)
如果您只是想要一个全局对象来容纳东西,那么您已经到了一半,只需定义window.Globals = {}
。
window.Globals = {
foo: window.foo
}
答案 1 :(得分:0)
您应该这样做:
class Globals{
constructor(){
this.foo = window.foo;
}
}
您为static foo
使用的定义是打字稿,而不是javascript:)
虽然上面的过程足以满足您的用法,但另一种方法是使用构造函数:
class Globals{
constructor(foo){
this.foo = foo;
}
}
const globals = new Globals(window.foo);