const로 선언된 object 요소 변경 막기
- JavaScript에서 const로 변수 선언 및 할당시 값을 재할당 할 수 없음
- 하지만 const로 선언된 object의 내부 요소는 변경이 가능함
- 사실 object 내부 요소 변경은 엄밀히 말하면 재할당은 아니지만, 이를 막는 코드들이 있음
1. JavaScript에서 막기
- 완전 수정불가한 object로 만들기
// strict mode로!!
'use strict'
const obj = {a : 1, b : 2};
Object.freeze(obj);
2. TypeScript에서 막기
- readonly 키워드 사용하쟈!!
- object의 type에서 요소 부분 앞에 readonly 키워드를 붙여 읽기 전용으로 변경
type Human = {readonly name : string};
const human01 : Human = {name : 'Yu'};
// 변경 시도하면?
human01.name = 'Kim' // 읽기전용이라는 내용의 오류!!
하지만 여기서는 ❗️주의점이 존재❗️
- TypeScript에서 에러는 에디터나 터미널에서만 존재하며, tsc -w 를 통해 클론된 js파일에서는 변경되는 것을 확인할 수 있음.
- 확인용으로는 사용 가능하지만 완벽한 기능을 구현하려면 JavaScript 코드를 이용해야 할듯함!!
🌟 잘못된 부분에 대한 말씀은 언제나 저에게 큰 도움이 됩니다. 🌟
👍 감사합니다!! 👍