【问题标题】:Why does TypeScript prohibit a private setter for a public getter of the same name?为什么 TypeScript 禁止同名的公共 getter 使用私有 setter?
【发布时间】:2016-02-16 20:05:39
【问题描述】:

TypeScript 中禁止使用同名的公共 getter 和私有 setter,这已在 SO 上的各种问题中讨论过。

我的主要编程语言是 C#,这很好。我也认为它是一个有用的构造,老实说,我真的不明白在 TypeScript 中允许这样做会有什么问题。

为什么 TypeScript 禁止这样做?这个问题与解决方法或类似问题无关,我只是想知道这种设计的原因。

编辑:可以在this question 上找到代码示例。

【问题讨论】:

  • 你能提供一些代码吗,你在做什么?
  • @Viplock:为什么有必要这样做?这是一个一般性问题,而不是关于特定程序的问题。

标签: typescript


【解决方案1】:

有一位 TypeScript 作者的评论:https://github.com/Microsoft/TypeScript/issues/2845#issuecomment-176990923

访问器与类型系统中的属性是对称的。任何事物 我们确实需要表现在类型和可表达上 特性。添加新的访问修饰符以启用 private_set/public_get 会增加语言的复杂性 和学习曲线,从中获得的价值不匹配 增加的复杂性。

【讨论】:

    猜你喜欢
    • 2011-08-30
    • 2017-06-27
    • 2014-07-21
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 2018-08-06
    • 2014-06-18
    • 1970-01-01
    相关资源
    最近更新 更多