typescript的get和set怎么偷懒

如果要用getter访问器,最好的是keyof + Object.defineProperty,我这里面有示例

1赞

考虑一下装饰器

装饰器只能修改原型或者静态变量的访问器,且局限性比较大,总不可能用一个方法写一个装饰器

装饰器试过
属性装饰器只是在构造的时候执行一次,不能达到目的

不要只想着怎么赋值,为何思路不开阔一点,想一下把改造变量本身 :smiling_imp:

只是单单做这个功能,那很简单,方法也很多
但都没有getter setter看起来炫酷,方便,直观

我也只是想着,ts约等于js,js和lua又很像
突发奇想想看一下能不能实现而已

你确定你理解我意思? :nerd_face:

image

1赞

看看这样是不是想要的效果 :grinning:

你可能是想要个代理?
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Proxy

2赞

我已经说了,装饰器局限性大,你喜欢就好

又学到了.

激动了,装饰器就是再次封装让用的时候更方便而已,具体实现也是defineProperty,有增加了任何局限性吗? :face_with_thermometer:

那你重新改个逻辑,是不是又要重写一个装饰器?

我已经说过两次了,你想不到我也不想说了

不一定,反正你正规写MVC该怎么改也一样怎么写,装饰器存粹让代码变少了

有没有用过flash时代的robotleg?就是prueMVC的装饰器版本,本质是一样的,存粹代码更少

那请问如果存在多个不同逻辑的读/写操作,你怎么定义装饰器?

这个装饰器是怎么操作的,为什么我的装饰器只能在构造的时候执行一次呢

我主要是不太熟悉这个Object.defineProperty
正在研究,完了给你汇报

我说我怎么只执行一次呢,原来还是用defineProperty