Closed samseburn closed 1 month ago
타입스크립트에는 값 공간과 타입 공간이 별도로 존재합니다.
값 공간
const name = "gyeol"; // "gyeol"은 값 공간에 있는 값
const favoriteNum =7 ; // 7은 값 공간에 있는 값
타입 공간
type Person = {name: string; favoriteNum: number}; // Person은 타입 공간에 있는 타입
const person: Person = {name: "gyeol", favoriteNum: 7};
타입 공간은 정적 타입검사를 위해 정의된 값의 타입들이 저장된 공간이고 값 공간은 변수나 함수등이 저장된 공간입니다. 타입스크립트는 타입 공간과 값 공간이 분리되어 있어 타입의 이름과 변수명이 같아도 문제가 되지 않습니다.
타입 공간: 타입 선언 및 타입 검사를 위한 공간. 컴파일 타임에만 존재. (예: 타입 별칭, 인터페이스) 값 공간: 실제 값들이 존재하는 공간. 런타임에서 동작. (예: 변수, 함수, 클래스 인스턴스)
type AnimalType = "cat" | "dog"; // 타입 공간
const AnimalType = { cat: "cat", dog: "dog" }; // 값 공간
let myPet: AnimalType = AnimalType.cat; // 값 공간의 `AnimalType.cat`을 이용, myPet 변수는 타입 공간의 `AnimalType`을 이용
📚 62p - 66p 📌 타입 공간과 값 공간이란 무엇인가요? 예시와 함께 설명해주세요.