const与readonly

相同点:

1. 都是用来标识常量

不同点:

1. 初始化的方式不同

  • const必须在声明的同时进行赋值
  • readonly可以在声明或构造函数中进行赋值,其他地方不能赋值操作
  • readonly是实例成员,不同的实例可以有不同的值
    初始化

2. const是编译是常数,readonly是运行时常数

  • const必须编译的时候就可以确定其具体的值,且修改后所有引用到的地方都必须重新编译
  • readonly可以等到运行时再确定其值,从而灵活度更大

3. const默认就是静态的,readonly如果要声明为静态必须显示声明

4. 应用类型只有string和值为null的引用类型才能够声明为const,而readonly可以为任意类型

原文地址:https://www.cnblogs.com/tian2010/p/2005951.html