Appearance
readonly 只读
表示 变量、属性 是只读的,不能进行修改、删除、添加等操作
- 类型属性只读
ts
interface Pagination {
pageSize: number
current: number
readonly total: number // 只读不能操作
readonly pageNumber: number // 只读不能操作
}
let page = {
pageSize: 10,
current: 1,
total: 100, // 只读不能操作
pageNumber: 10, // 只读不能操作
}
page.current = 2 // √
// 不能修改
page.total = 88 // ×
- 变量只读
ts
let list: readonly number[] = [1, 2, 3]
list.push(1) // 错误的
list.pop() // 错误的
拓展
- 高级类型
Readonly<T>
eslint-typescript
prefer-readonly
prefer-readonly-parameter-types
prefer-readonly-parameter-types
json
module.exports = {
"rules": {
"@typescript-eslint/prefer-readonly-parameter-types": "warn"
}
};