Typescript readonly와 const의 차이

readonly와 const의 차이에 대해 알아보았다.

readonly

  • 값을 속성을 읽기 전용으로 설정하는 Typescript의 타입이다.
  • 컴파일 시에 타입검사한다.
  • 얕게 동작한다.

즉 다음과 같은 코드는 에러가 발생하지 않는다.

1
2
const datas: readonly number[][] = [[1], [2], [3], [4]];
datas[0][0] = 1;
  • 객체의 속성까지 readonly를 적용하기 위해선 객체를 as const로 타입 단언하면 된다.

const

  • 변수를 읽기전용으로 설정한다. 즉 변수에 다른 값을 할당할 수 없는 상수를 만든다.
  • 런타임에도 읽기전용으로 작동하게 한다.

결론

  • 의도치 않은 동작을 방지하기 위해 readonly도 적용해 주는 것이 좋다.