"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Précautions lors de l'utilisation en lecture seule dans TypeScript

Précautions lors de l'utilisation en lecture seule dans TypeScript

Publié le 2024-08-21
Parcourir:933

Cautions When Using readonly in TypeScript

La base de la propriété en lecture seule

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.

⚠️① la lecture seule est uniquement au moment de la compilation

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.

⚠️② la lecture seule n'est pas récursive.

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.

Lecture seule

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☀️

Déclaration de sortie Cet article est reproduit sur : https://dev.to/noah-00/cautions-when-using-readonly-in-typescript-22d7?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

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