Typescript readonly와 const의 차이
readonly와 const의 차이에 대해 알아보았다.
readonly
- 값을
속성
을 읽기 전용으로 설정하는 Typescript의 타입이다. - 컴파일 시에 타입검사한다.
- 얕게 동작한다.
즉 다음과 같은 코드는 에러가 발생하지 않는다.
1 | const datas: readonly number[][] = [[1], [2], [3], [4]]; |
- 객체의 속성까지 readonly를 적용하기 위해선 객체를 as const로 타입 단언하면 된다.
const
- 변수를 읽기전용으로 설정한다. 즉 변수에 다른 값을 할당할 수 없는 상수를 만든다.
- 런타임에도 읽기전용으로 작동하게 한다.
결론
- 의도치 않은 동작을 방지하기 위해 readonly도 적용해 주는 것이 좋다.