TS 타입 추론 (Type Inference)
📃타입 추론
자바스크립트에서는 아래 예제에서 처럼 a변수에 string 값인 "hello"로 재할당 하려하면 문제없이 재할당 가능합니다.
let a = 10;
a = "hello"
하지만 타입스크립트에서는 Type 'string' is not assignable to type 'number'.
에러가 발생합니다. 컴파일을 시도해도 에러 메시지가 발생합니다.
에러의 의미는 재할당하려는 변수값이 숫자가 아니기 때문에 a 변수에 할당될수 없다 라는 내용입니다.
이러한 현상이 나타나는 이유는 타입스크립트의 타입 추론때문입니다.
타입스크립트에서는 타입 표기가 없는경우 타입 정보를 제공하기위해서 타입을 추론합니다.
즉 타입스크립트는 타입 표기가 없는 경우 코드를 읽고 분석하여 타입을 유추해낼수 있습니다.
✔ 예제
student라는 오브젝트 객체가 있습니다. 타입스크립트는 먼저 프로퍼티의 할당값을 검사하고 어떤 타입이 프로퍼티의 할당값으로 주어졌는지 스스로 추론하였습니다.
아래는 타입이 다르기때문에 에러가 발생합니다.
let student = {
name: "joon",
codingLevel: 10,
code: function () {
console.log("코딩 공부중입니다.");
},
};
student.name = 10;
student.codingLevel = "오"
두번째 예제입니다.
마우스를 함수키워드 위로 가져가면 타입스크립트가 함수의 return 값으로 number를 할당하였습니다.
이것은 num 타입을 명시하지 않았지만 타입스크립트는 - 연산자를 통해서 결과물 즉 return 값이 숫자일거라는 추론을합니다.
function calcuIQ(num: any): number
function calcuIQ(num) {
return 100 - num;
}
Author And Source
이 문제에 관하여(TS 타입 추론 (Type Inference)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jackma914/TS-타입-추론-Type-Inference저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)