const与readonly的区别
在 TypeScript 中可以使用 const 或者 readonly 来定义常量,他们还是有很多的区别的。
声明的区别
const 在声明阶段,必须赋值,否则会报错。但是 readonly 在 class 中可以先声明,然后在构造函数中赋值。如:
class Person {
private readonly name: string;
constructor(name: string) {
this.name = name;
}
sayHello() {
console.log(`hello:${this.name}`);
}
}
new Person('remy').sayHello();
声明位置的区别
const 可以在任何地方声明,但是 readonly 只能在 class 中声明。