gpt4 book ai didi

typescript - 使用 TypeScript 在现有对象上定义 getter/setter

转载 作者:行者123 更新时间:2023-12-02 03:54:24 24 4
gpt4 key购买 nike

如何使用 TypeScript 编写以下代码?

document.__defineGetter__('cookie', function() { ... });
document.__defineSetter__('cookie', function(v) { ... });

提前致谢!

(附:假设 document 存在,但 document.cookie 不存在...)

最佳答案

您可以使用Object.defineProperty来执行此操作。

您还必须修改现有的对象接口(interface),以便编译器知道您也添加了它。

interface Document {
cake: string
}

Object.defineProperty(document, 'cake', {
get: function () {
return this.id + 'a';
},
set: function (value) {
this.id = value;
}
});


console.log(document.cake);

document.cake = 'abc';

console.log(document.cake);

您可以看到一个工作示例 here .

关于typescript - 使用 TypeScript 在现有对象上定义 getter/setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44442963/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com