Dans Type Script, vous pouvez rendre l'objet des propriétés d'un objet en lecture seule.
const person: { readonly name: string } = { name: 'Mike' } person.name = 21; // → Cannot assign to 'name' because it is a read-only property.
Dans le code JavaScript compilé, la déclaration en lecture seule est supprimée, elle ne sera donc pas détectée comme une erreur au moment de l'exécution.
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`
Si vous souhaitez le rendre en lecture seule, vous devez également le mettre en lecture seule dans 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.
Lorsque le nombre de propriétés augmente, l'ajout en lecture seule à chacune devient fastidieux et augmente la quantité de code.
Vous pouvez refactoriser en utilisant 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' }
Joyeux codage☀️
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3