
1 10bkill1p 2022 年 3 月 24 日 用一个中间变量去传,直接修改是会死循环的。 |
2 ccyu220 2022 年 3 月 24 日 确实第一次见 get set 和参数名写一样的... |
3 faceRollingKB 2022 年 3 月 24 日 class Dep { constructor(value) { this._value = value; } _value get value() { return this._value; } set value(newValue) { this._value = newValue; } } |
4 lisongeee 2022 年 3 月 24 日 js/python 不像 kotlin ,setter/getter 需要手动声明额外的变量保存状态,kotlin setter/getter 内部有一个关键字 field ,无需手动额外声明变量 |
5 cutemurphy2888 OP @lisongeee 那为什么设计者不借鉴一把 / |
6 lisongeee 2022 年 3 月 24 日 我不到啊 |
7 KMpAn8Obw1QhPoEP 2022 年 3 月 24 日 via Android 哈哈哈楼上对话太逗了 |
8 misdake 2022 年 3 月 24 日 变量数据总要保存到一个地方,比如_value 这种。setter 里设置到同一个 setter 上肯定不行呀。 |
9 AV1 2022 年 3 月 24 日 @faceRollingKB 或许用私有变量更好 class Dep { constructor(value) { this.#value = value; } #value get value() { return this.#value; } set value(newValue) { this.#value = newValue; } } let dep = new Dep("cc"); dep.value = 'dd'; @cutemurphy2888 大概因为没几个人在 JS 里写 class 吧。 |
10 TWorldIsNButThis 2022 年 3 月 24 日 via iPhone @cutemurphy2888 kotlin 没有 java 或者 js 里的字段, 只有 property 的概念,property 是否对应一个真正的字段是编译器判断 |
12 blu10ph 2022 年 3 月 24 日 @cutemurphy2888 我刚才提的需求,上午为什么没有实现?~ |
13 magewu1223ll 2022 年 3 月 24 日 应该是 get 引起的吧,每次都读取 一读取就触发 get 然后 get 里面又有个读取,然后触发 get 。。。。。。 |
14 thinkershare 2022 年 3 月 24 日 因为它本来就应该死循环, 设计上这样写就应该死循环! |
15 jadehare 2022 年 3 月 24 日 get value 死循环了,this.value = get value(),相当于方法自己调用自己了 |
17 volCan0 2022 年 3 月 24 日 看看 vue3 的 ref |
18 Opportunity 2022 年 5 月 16 日 |