본문 바로가기

JavaScript/TypeScript

타입스크립트 리터럴, 유니온/교차타입

반응형
//리터럴, 유니온/교차타입

//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