인프런 커뮤니티 질문&답변

이경준님의 프로필 이미지
이경준

작성한 질문수

이펙티브 타입스크립트 스터디

문맥과 타입 추론 / 함수형 기법과 라이브러리로 타입 흐름 유지하기 (5-2회차)

13분 50분즈음에서 배열과 객체에 'as const' 관련해서 논의한거 관련 질문이요

작성

·

212

0

개인적으로 강의 들으면서 as const를 썼을 때 왜 다를 까를 추측해봤는데 제 생각이 타당한지 같이 고민해주시면 감사하겠습니다. 

 

혹시 배열이랑 튜플에 내장하고 있는 pop, push, shift, unshift와 같은 메서드들의 존재 때문이 아닐까요? 

배열이나 튜플에 as const를 쓰면 기존 배열과 튜플에 있는 메서드들이 사라지니까 타입이 달라져서 에러가 뜨는거고 객체에는 그런 메서드들이 없어서가아닐까요?

 

답변 1

0

이경준님의 프로필 이미지
이경준
질문자

추가로 18: 10 즈음에 `재현`님이 질문해주신 language속성에 as const넣었을 때 되는 것은

최초에 ts객체 내에 속성인 language랑 organization이 선언 될 때는 let키워드로 선언되는 것 같이 선언되서 string타입으로 추론됬을 거 같아요. 근데 langauge에 as const 키워드를 쓰게 되면 const키워도로 단언 되어서 타입이 'TypeScript'로 되어서 유니온 타입에 부합해서 에러가 해결되는 게 아닐까 합니다.

이경준님의 프로필 이미지
이경준

작성한 질문수

질문하기