The difference between readonly and const in Type Script
Aug 22, 2024 pm 06:58 PMThese two features are similar in that they are both non-assignable.
Can you explain exactly it?
In this article, I will share the differences between them.
const prevents reassignment to a variable.
In this case, hisName is a variable that cannot be reassigned.
const hisName = 'Michael Scofield' hisName = 'Lincoln Burrows' // → ❌ Cannot assign to 'hisName' because it is a constant.
However, you can reassign to property.
const hisFamily = { brother: 'Lincoln Burrows' } hisFamily.brother = '' // → ⭕️ hisFamily = { mother: 'Christina Rose Scofield' } // → ❌ Cannot assign to 'hisFamily' because it is a constant.
readonly prevents reassignment to a property.
For example, if you try to assign a value to brother with readonly, a compilation error will occur.
let hisFamily: { readonly brother: string } = { brother: 'Lincoln Burrows' } hisFamily.brother = '' // → ❌ Cannot assign to 'brother' because it is a read-only property.
On the other hand, assigning to the variable itself is allowed.
let hisFamily: { readonly brother: string } = { brother: 'Lincoln Burrows' } hisFamily = { brother: '' } // → ⭕️
Conclusion
const makes the variable itself non-assignable, while readonly makes the property non-assignable.
By combining const and readonly, you can create an object where both the variable itself and the object's properties are immutable.
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.
Happy Coding☀️
The above is the detailed content of The difference between readonly and const in Type Script. For more information, please follow other related articles on the PHP Chinese website!

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Replace String Characters in JavaScript

Custom Google Search API Setup Tutorial

HTTP Debugging with Node and http-console
