首页 > web前端 > js教程 > 正文

Type Script 中 readonly 和 const 的区别

王林
发布: 2024-08-22 18:58:03
原创
167 人浏览过

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 防止重新分配给属性。

例如,如果你尝试用readonly给brother赋值,就会发生编译错误。

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.
登录后复制

快乐编码☀️

以上是Type Script 中 readonly 和 const 的区别的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!