readonly style
时间: 2023-10-12 08:11:36 浏览: 73
Edit的主要属性-Delphi经典教程
`readonly`是一种属性修饰符,用于标识一个类成员变量或方法参数是只读的,即它们只能在声明时或构造函数中初始化,并且不能在运行时被修改。在 TypeScript 中,可以将 `readonly` 应用于类成员变量、接口成员变量、索引签名、函数类型的参数和箭头函数类型的参数。例如:
```typescript
class Person {
readonly name: string;
constructor(name: string) {
this.name = name;
}
}
interface Point {
readonly x: number;
readonly y: number;
}
function distance(point: Readonly<Point>): number {
return Math.sqrt(point.x ** 2 + point.y ** 2);
}
const p: Point = { x: 3, y: 4 };
console.log(distance(p)); // output: 5
// Cannot assign to 'x' because it is a read-only property.
p.x = 5;
```
在上面的例子中,`Person` 类的 `name` 成员变量是只读的,因此它只能在构造函数中初始化,并且不能在运行时被修改。同样地,`Point` 接口的 `x` 和 `y` 成员变量也是只读的,因此不能在运行时被修改。在 `distance` 函数中,参数 `point` 被标记为 `Readonly<Point>`,即该参数是只读的,不能在函数内部被修改。最后,当我们试图修改 `p.x` 时,TypeScript 编译器会报错,因为 `x` 是只读的。
阅读全文