Open
Description
✍Udemy/section5/75: readonly with interface, type
해당 issue는 실습을 하지 않고 개념만 작성한 issue 입니다. 진도를 빠르게 넘어가기 위함이니 아래 개념만 익혀두면 설명이 충분합니다. 따라 실습관련 브랜치는 없습니다.
🔥KeyWord
- readonly
- const
- interface
- type
📝Description
- interface안에 private, public과 같은 접근제한을 걸어 둘 수는 없다. 하지만 readonly란 접근 제한자는 사용이 가능하다.
- readonly는 한번만 사용할 수 있다. 즉, 재할당을 할 수가 없다.
- const와 readonly의 차이
- const
- const는 변수를 선언할 때 사용되며, 변수에 재할당이 불가능하다.
- const로 선언된 변수는 초기화 시 반드시 값을 할당해야 하며, 그 변수 자체에 재할당이 불가능하다.
- 기본 타입(primitive type) 의 경우 값을 변경할 수 없지만 객체나 배열 같은 참조 타입의 경우 속성이나 요소는 변경 가능하다.
- const는 변수에 재할당을 허용하지 않지만 객체나 배열의 경우 내부 속성이나 요소는 변경 가능하다.
- readonly
- readonly는 타입 시스템에서 사용되며 객체의 속성이나 클래스의 프로퍼티가 수정되지 않도록 만든다.
- readonly는 객체의 특정 속성에 적용되어 해당 속성은 초기화 이후 수정이 불가능하다.
- 클래스의 필드나 인터페이스, 타입에서 속성의 수정 불가능성을 정의할 때 사용된다.
- readonly는 읽기 전용 속성이며 참조 타입의 속성을 보호한다. 즉, 객체의 특정 속성을 읽기 전용으로 만들 수 있다. 정리하면 readonly는 객체의 속성에 적용되며 한 번 설정된 값은 변경 불가하지만 다른 속성은 변경 가능하다.
- const
- const와 readonly의 차이
📌Summary
- const보다 readonly가 더욱 내가 생각한 js와 같은 확장 문법에서 사용가능한 private에 가깝다는 것을 느꼈다. 이에 readonly를 잘 사용만 한다면 유지관리하는데 많이 유용할 수 있다고 생각했다.