«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Разница между readonly и const в Type Script

Разница между readonly и const в Type Script

Опубликовано 5 ноября 2024 г.
Просматривать:412

The difference between readonly and const in Type Script

Эти две функции схожи тем, что обе не подлежат назначению.

Можете ли вы это объяснить?

В этой статье я поделюсь различиями между ними.

const предотвращает переназначение переменной.

В данном случае 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.

readonly предотвращает переназначение свойства.

Например, если вы попытаетесь присвоить значение брату только для чтения, произойдет ошибка компиляции.

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.

Удачного программирования☀️

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/noah-00/the-difference-between-readonly-and-const-in-type-script-3po3?1. Если есть какие-либо нарушения, пожалуйста, свяжитесь с Study_golang@163. .com, чтобы удалить его
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3