TS中readonly是干嘛的?

    public readonly state = {
        hasMore: true,
        loading: false,
        hasAddContent: false,
        rags: [],
    };

里的readonly是干什么的?

阅读 7.8k
1 个回答

readonly 标记的属性只能在声明时或类的构造函数中赋值。

之后将不可改(即只读属性),否则会抛出 TS2540 错误。

与 ES6 中的 const 很相似,但 readonly 只能用在类(TS 里也可以是接口)中的属性上,相当于一个只有 getter 没有 setter 的属性的语法糖。


可以类比 C# 中的 readonly(实际上 TS 的设计思路也来自于此,毕竟它们都是 Anders Hejlsberg 巨佬发明的语言),或是 Java 中的 final

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题