as const 和 readonly 都是 TypeScript 中的语法。
使用 as const 可以将一个对象的所有属性值变为只读的字面量类型,例如:
const obj = { name: '张三', age: 18 } as const;
此时 obj 的类型为 { readonly name: '张三'; readonly age: 18; }
这样做的好处是可以防止修改对象的属性值,提高代码的安全性。
readonly 则是将一个变量或属性设置为只读,不能被重新赋值。例如:
const name: string = '张三';
const age: Readonly
class Person { public readonly name: string; constructor(name: string) { this.name = name; } }
通过使用 readonly,可以保证变量或属性的值不被修改,避免出现意外的 bug。