新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

关键字const和readonly的不同,const关键字的作用

发布时间:2023-09-04 08:02:46

关键字const和readonly的不同

关键字const和readonly都用于声明只读变量或只读属性,但它们的用法和作用有所区分。
1. const关键字:
- 可以用于变量和属性声明。
- 声明的变量或属性的值在编译时肯定,并且在全部程序履行进程中不可修改。
- 在变量声明时一定要进行初始化,且初始化后的值不能再改变。
- 适用于基本数据类型、枚举、字符串字面量和对象字面量。
示例:
```typescript
const PI = 3.14159;
const person = { name: 'John', age: 25 };
person.age = 30; // Error: 不能修改const声明的对象援用
function printNumber() {
const x = 10;
x = 20; // Error: 不能修改const声明的变量
console.log(x);
}
```
2. readonly关键字:
- 只能用于属性声明。
- 声明的属性只能在声明时或构造函数中初始化,并且在全部对象的生命周期中不可修改。
- 适用于类的成员属性。
示例:
```typescript
class Person {
readonly name: string;
constructor(name: string) {
this.name = name;
}
changeName(newName: string) {
this.name = newName; // Error: 不能修改readonly声明的属性
}
}
const person = new Person('John');
person.name = 'Jane'; // Error: 不能修改readonly声明的属性
```