
为什么 aa 的属性可以修改, 而直接 aa.a = 1 是不允许的
如图所示

1 nightwitch 2024-04-17 21:40:38 +08:00 想要真正的 readonly 用 Object.freeze()。 ts 只能靠静态分析来做这种检查,总有 case 可以绕开 |
2 mxT52CRuqR6o5 2024-04-17 21:44:12 +08:00 via Android 不仅如此,你在 ts 里定义一个类型为 number 的属性在运行时还能给它赋 string 值呢 |
3 Trim21 2024-04-17 21:47:58 +08:00 你 Proxify 的实现有问题呗。 不过我也不确定 typescript 能不能实现这个类型安全。。。 |
4 Lanayaaa 2024-04-18 02:44:11 +08:00 ts 只是静态的格式校验、报错提示。 运行时不会起作用。 |
5 IvanLi127 2024-04-18 09:54:31 +08:00 via Android 我感觉 Proxify 类型定义没考虑到这个情况,得改改。 |
6 Al0rid4l 2024-04-18 10:39:54 +08:00 typescript 的类型系统是 unsound 的 |