TypeScript
[TypeScript]변수에 타입 담기, readonly
hans-j
2023. 4. 16. 21:53
type
이! 렇 ! 게!
object 타입에 두 개 이상의 타입이 들어가는 경우
type 키워드를 사용해서 변수로 타입을 지정해서 할당하는것이 훨씬 편하다.
변수에 안담는 다면 위의 식은 아래와 같이 표현할 수 있다.
그런데!
type변수를 union type으로 합칠 수 있다.
혹은!
& 연산자로 object타입을 합칠 수 있다.
interface
type말고 interface를 이용해서 Object에 타입 지정을 해줄 수도 있다!!
type과 다른점은 중복선언(중복 속성은 안됨)이 가능하다는 점!! 위와 같이 합쳐진다.혹은 extends(종속)나 재정의도 가능.// extends쓸때 중복속성이 발생하면 에러로 잡아줌.
type가 더 엄격하다고 보면 됨.
따라서 외부 라이브러리 같은 경우에 interface를 많이 쓴다.
type | interface |
중복 선언 가능 | 중복 선언 불가능 |
같은이름으로 재정의 불가능 | 같은이름으로 재정의 불가능 |
https://yceffort.kr/2021/03/typescript-interface-vs-type
const 변수에 object값을 할당할 경우에!!
그 값을 바꿀 수 있다. 왜냐??
const변수는 재할당이 불가능 한것이지 object의 값도 변경할 수 없도록하지 않기때문.
따라서 object 값의 변경을 막으려면
readonly 속성을 적용해준다.(읽기전용)
그! 런! 데!
실제 변환된 js파일은 에러가 없다.
타입스크립트 에러는 에디터와 터미널에서만 존재하기 때문!! 기억하자