Diese beiden Funktionen ähneln sich darin, dass sie beide nicht zuweisbar sind.
Können Sie es genau erklären?
In diesem Artikel werde ich die Unterschiede zwischen ihnen teilen.
In diesem Fall ist hisName eine Variable, die nicht neu zugewiesen werden kann.
const hisName = 'Michael Scofield' hisName = 'Lincoln Burrows' // → ❌ Cannot assign to 'hisName' because it is a constant.
Sie können die Eigenschaft jedoch neu zuweisen.
const hisFamily = { brother: 'Lincoln Burrows' } hisFamily.brother = '' // → ⭕️ hisFamily = { mother: 'Christina Rose Scofield' } // → ❌ Cannot assign to 'hisFamily' because it is a constant.
Wenn Sie beispielsweise versuchen, „Bruder“ schreibgeschützt einen Wert zuzuweisen, tritt ein Kompilierungsfehler auf.
let hisFamily: { readonly brother: string } = { brother: 'Lincoln Burrows' } hisFamily.brother = '' // → ❌ Cannot assign to 'brother' because it is a read-only property.
Andererseits ist die Zuweisung an die Variable selbst zulässig.
let hisFamily: { readonly brother: string } = { brother: 'Lincoln Burrows' } hisFamily = { brother: '' } // → ⭕️
const macht die Variable selbst nicht zuweisbar, während readonly die Eigenschaft nicht zuweisbar macht.
Durch die Kombination von const und readonly können Sie ein Objekt erstellen, bei dem sowohl die Variable selbst als auch die Eigenschaften des Objekts unveränderlich sind.
const hisFamily: { readonly brother: string } = { brother: 'Lincoln Burrows' } hisFamily.brother = '' // ❌ Cannot assign to 'brother' because it is a read-only property. hisFamily = { brother: '' } // ❌ Cannot assign to 'hisFamily' because it is a constant.
Viel Spaß beim Programmieren☀️
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3