[TypeScript] readonly

Dorong·2022년 12월 23일
0

TypeScript

목록 보기
2/15

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 코드를 이용해야 할듯함!!





🌟 잘못된 부분에 대한 말씀은 언제나 저에게 큰 도움이 됩니다. 🌟
👍 감사합니다!! 👍

profile
🥳믓진 개발자가 되겠어요🥳

0개의 댓글