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

WJJJJJJ님의 프로필 이미지
WJJJJJJ

작성한 질문수

타입스크립트의 모든 것

inheritance

as와 변수의 타입 지정 차이

작성

·

246

·

수정됨

0

 안녕하세요. 단언하는 방법중에 제네릭보다 as를 더 많이 사용 하신다고 하셧는데 그러면 말씀하신 as로 하는것과 변수로 타입을 지정해서 사용하는것의 차이가 있을까요??

interface IExam { value: number }
const example: object = { value: 1 };
// 1. as
console.log((example as IExam).value);

// 2. 변수의 타입지정
interface IExam2 { value: number }
const example2: IExam2 = { value: 1 };
console.log(example2.value)


--
방금 보충 봤습니다. 그런데 변수의 값에 as를 쓰면서 콘솔값에도 as를 쓰는 이유는 무엇인가요??

답변 1

0

yongsoocho님의 프로필 이미지
yongsoocho
지식공유자

  1. 제네릭보다 as를 더 많이 사용 하신다고 하셧는데
    -> 없습니다. 저는 개인적으로 as 가 있어야 직관적이고 편한 것 같아서 그렇게 언급한 것입니다..!

  2. 그런데 변수의 값에 as를 쓰면서 콘솔값에도 as를 쓰는 이유는 무엇인가요??
    -> 제가 질문 이해를 잘 못했습니다..! 답변을 예측해보면 같은 as지만 보통 선언할 때쓰는 as는 타입단언, 중간에 제네릭, as로 타입을 형변환하는 것은 타입캐스팅이라고 하는데 지금이야 간단한 코드에서는 뭐가 됐든 상관없습니다. 다만, 코드가 많아지고 외부 라이브러리가 많아진다면 상황에 맞게 쓰시면됩니다..!

WJJJJJJ님의 프로필 이미지
WJJJJJJ

작성한 질문수

질문하기