作者:小小追求者 | 来源:互联网 | 2023-09-18 17:20
我知道我可以简单地写window.myValue = 'something'
,但是我想知道是否有某种官方机制可以在Window
上设置/获取密钥。
我可以映射到某个接口,例如:
window.setvalue('myKey','myValue')
window.getvalue('myKey')
说明:
我正在尝试实现依赖关系反转,并希望采用一个映射到Window的接口。
interface GetterSetter {
setvalue(key: string,value: any): void
getvalue(key: string): any
}
function addHi(target: GetterSetter) {
target.setvalue('Hi','Marco')
}
addHi(window)
如果要使用功能性的方法来设置和检索键,可以使用Reflect:
Reflect.set(window,'myKey','myValue');
console.log(Reflect.get(window,'myKey'));
这适用于任何对象,而不仅仅是window
。
(但是使用普通的点符号绝对没有错)