반응형
//리터럴, 유니온/교차타입
//JS 변수 선언 타입
//const : 상수
//let : 변수
const userName1 = "Bob"; //문자열 "Bob"이 타입 - 문자열 리터럴 타입
let userName2:string|number ="Tom"; //문자열이 타입
userName2=3;
//숫자도 들어가게 하려면 선언시에 타입을 2개로 명시
//enum과 유사한 타입
type Job = "police" | "developer" | "teacher";
interface User6{
name : string;
job : Job;
}
const user7:User6={
name :"Bob",
job: "developer"
};
//유니온 타입
interface HighSchoolStudent{
name: string;
grade: 1|2|3;
}
interface Car2{
name: "car";
color: string;
start(): void;
}
interface Mobile{
name: "mobile";
color: string;
call(): void;
}
//식별 가능한 유니온 타입
//: 동일한 속성의 타입을 다르게 해서 구분하는 것
function getGift(gift: Car2|Mobile){
console.log(gift.color);
if(gift.name === "car"){
gift.start();
}else{
gift.call();
}
}
//교차 타입
//:여러 타입을 합쳐서 사용
interface Car3{
name: string;
color: string;
start(): void;
}
interface Toy2{
name: string;
color: string;
price: number;
}
const toyCar2: Toy2 & Car3={
name : "타요",
start(){
},
color:"blue",
price:1000
};
반응형
'JavaScript > TypeScript' 카테고리의 다른 글
타입스크립트 제네릭 (+상한 제한) (0) | 2024.02.05 |
---|---|
타입스크립트 클래스 (0) | 2024.02.05 |
타입스크립트 함수 (0) | 2024.02.01 |
타입스크립트 DOM (0) | 2024.02.01 |
타입스크립트 인터페이스 (구현과 상속) (0) | 2024.02.01 |