Heim > Web-Frontend > js-Tutorial > Vorsichtsmaßnahmen bei der Verwendung von readonly in TypeScript

Vorsichtsmaßnahmen bei der Verwendung von readonly in TypeScript

WBOY
Freigeben: 2024-08-11 06:02:01
Original
365 Leute haben es durchsucht

Cautions When Using readonly in TypeScript

Die Grundlage der schreibgeschützten Eigenschaft

In Type Script können Sie die Eigenschaften eines Objekts schreibgeschützt machen.

const person: { readonly name: string  } = { name: 'Mike' }

person.name = 21;
// → Cannot assign to 'name' because it is a read-only property.
Nach dem Login kopieren

⚠️① schreibgeschützt ist nur zur Kompilierungszeit

Im kompilierten JavaScript-Code wird die schreibgeschützte Deklaration entfernt, sodass sie zur Laufzeit nicht als Fehler erkannt wird.

⚠️② readonly ist nicht rekursiv.

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`
Nach dem Login kopieren

Wenn Sie es schreibgeschützt machen möchten, müssen Sie auch „readonly“ für PrimarySchool festlegen.

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.
Nach dem Login kopieren

Schreibgeschützt

Wenn die Anzahl der Eigenschaften zunimmt, wird das Hinzufügen von schreibgeschützten Eigenschaften zu jeder einzelnen umständlich und erhöht die Codemenge.
Sie können das Refactoring mithilfe von Readonly durchführen.

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 : string;
  b: string;
  c: string;
  d: string;
}> = {
  a: 'a',
  b: 'b',
  c: 'c',
  d: 'd'
}
Nach dem Login kopieren

Viel Spaß beim Programmieren☀️

Das obige ist der detaillierte Inhalt vonVorsichtsmaßnahmen bei der Verwendung von readonly in TypeScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage