Эти две функции схожи тем, что обе не подлежат назначению.
Можете ли вы это объяснить?
В этой статье я поделюсь различиями между ними.
В данном случае hisName — это переменная, которую нельзя переназначить.
const hisName = 'Michael Scofield' hisName = 'Lincoln Burrows' // → ❌ Cannot assign to 'hisName' because it is a constant.
Однако вы можете переназначить объект собственности.
const hisFamily = { brother: 'Lincoln Burrows' } hisFamily.brother = '' // → ⭕️ hisFamily = { mother: 'Christina Rose Scofield' } // → ❌ Cannot assign to 'hisFamily' because it is a constant.
Например, если вы попытаетесь присвоить значение брату только для чтения, произойдет ошибка компиляции.
let hisFamily: { readonly brother: string } = { brother: 'Lincoln Burrows' } hisFamily.brother = '' // → ❌ Cannot assign to 'brother' because it is a read-only property.
С другой стороны, допускается присвоение самой переменной.
let hisFamily: { readonly brother: string } = { brother: 'Lincoln Burrows' } hisFamily = { brother: '' } // → ⭕️
const делает саму переменную неназначаемой, а readonly делает свойство неназначаемым.
Комбинируя const и readonly, вы можете создать объект, в котором как сама переменная, так и свойства объекта являются неизменяемыми.
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.
Удачного программирования☀️
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3