타입 시스템
타입스크립트의 타입 시스템
타입이란 해당 변수가 할 수 있는 일을 결정한다.
명시적으로 리턴 타입을 지정하는 게 좋다.
✨ 작성자가 사용자에게 코드를 문제없이 실행시킬 수 있게 하는 것이 중요
구조가 같으면, 같은 타입
구조가 같아도 이름이 다르면, 다른 타입
새가 오리처럼 걷고, 헤엄치고, 꽥꽥거리는 소리를 낸다면 -> 그 새를 오리라고 부를 것이다. 런타임에 타입을 결정
서브 타입은 슈퍼 타입에 할당이 가능하다.
같거나 서브 타입인 경우, 할당이 가능하다 -> 공변 (기본적으로 공변)
함수의 매개 변수 타입만 같거나 슈퍼 타입인 경우, 할당이 가능하다. -> 반병
// string
type MyStringType = string;
const str = "Hello";
let myStr: MyStringType = "world";
myStr = str;
// union
// a 도 가능하고 b 도 가능한 타입
// 길게 쓰는걸 짧게
let person: string | number = 0;
type StringOrNumber = string | number;
let another: StringOrNumber = 123;
another = "JI";
// tuple
// 여러군데서 사용 가능
let person: [string, number] = ["Ji", 10];
type personTuple = [string, number];
let another: personTuple = ["Seok", 5];
// function
type EatType = (food: string) => void;
interface
alias
✨ 자신의 기준을 세우는 것이 중요
지석님 오늘도 깔끔 명료한 포스팅 잘 보고 갑니다🙏