No Type Script, você pode tornar o objeto das propriedades de um objeto somente leitura.
const person: { readonly name: string } = { name: 'Mike' } person.name = 21; // → Cannot assign to 'name' because it is a read-only property.
No código JavaScript compilado, a declaração readonly é removida, portanto não será detectada como um erro em tempo de execução.
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`
Se quiser torná-lo somente leitura, você também precisa colocar readonly em 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.
Quando o número de propriedades aumenta, adicionar somente leitura a cada uma delas se torna complicado e aumenta a quantidade de código.
Você pode refatorar usando 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' }
Boa codificação☀️
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3