인프런 한입크기로 잘라먹는 타입스크립트 - 이정환님의 강의를 보고
내용을 정리한 포스팅입니다
- 타입스크립트는 자동으로 변수를 추론합니다. (추론 하는 기준은 변수의 초기값 입니다.)
- 함수의 초기값은 return 문의 기준으로 정해집니다
let a = 10;
let b = "hello"; // 기본타입도
let c = {
// 복잡한 객체도
id: 1,
name: "상훈",
profile: {
nickname: "hoon",
},
urls: ["https://naver.com"],
};
let { id, name, profile } = c; // 구조 분해 할당
let [one, two, three] = [1, "hello", true]; // 구조 분해 할당
function func(message = "hello") {
return "hello";
}
직접 Any 타입을 지정하면 모든 함수 메소드를 사용 할 수 있지만, 암묵적 Any 타입은 계속 진화합니다. 그렇기에 별로 추천되는 방식은 아닙니다
let d; // 암묵적 Any 타입으로 지정됩니다
d = 10; // 숫자로 추론합니다.
d.toFixed(); // 숫자 메소드 사용가능
d.toUpperCase(); // 에러 출력
d = "hello"; // 문자로 추론됩니다
d.toUpperCase(); // 문자 메소드 사용가능
d.toFixed(); // 에러 출력
const num = 10; // number타입이아님 리터럴 10으로 추론합니다.
const str = "hi"; // string 타입이 아닌 리터럴 'hi'로 추론됩니다.
모든 배열 요소들을 비교해서
최적의 공통 타입으로 추론해줍니다
let arr = [1, "string"]; // 추론시 <number|string>[]