В Type Script можно сделать объект свойств объекта доступным только для чтения.
const person: { readonly name: string } = { name: 'Mike' } person.name = 21; // → Cannot assign to 'name' because it is a read-only property.
В скомпилированном коде JavaScript объявление только для чтения удалено, поэтому оно не будет обнаружено как ошибка во время выполнения.
const person: { readonly name: string; readonly academicBackground: { primarySchool: string } } = { name: 'Mike', academicBackground: { primarySchool: 'School A' } } person.academicBackground.primarySchool = 'School B' // You can change `person.academicBackground.primarySchool`
Если вы хотите сделать его доступным только для чтения, вам также необходимо установить параметр «только для чтения» для PrimarySchool.
const person: { readonly name: string; readonly academicBackground: { readonly primarySchool: string } } = { name: 'Mike', academicBackground: { primarySchool: 'School A' } } person.academicBackground.primarySchool = 'School B' // → Cannot assign to 'primarySchool' because it is a read-only property.
Когда количество свойств увеличивается, добавление к каждому свойства только для чтения становится громоздким и увеличивает объем кода.
Вы можете выполнить рефакторинг, используя Readonly.
const obj: { readonly a : string; readonly b: string; readonly c: string; readonly d: string; } = { a: 'a', b: 'b', c: 'c', d: 'd' } // ↓ const obj: Readonly = { a: 'a', b: 'b', c: 'c', d: 'd' }
Удачного программирования☀️
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3