본문 바로가기

Dev/Typescript

타입스크립트 Typescript 인터페이스

typescript

type Score = 'A' | 'B' | 'C' | 'F';

interface User {
    name : string;
    age : number;
    gender? : string; // ?를 붙이면 있어도 되고 없어도 됨
    readonly birthYear : number; // 읽기 전용 수정 불가
    [grade:number] : string; // 여러개를 스트링 타입으로 받을수 있음
    //[grade:number] : Score; // Score의 범위 안에 있는것만 입력이 가능
}

let user : User = {
    name : 'xx',
    age : 30,
    birthYear : 2000,
    1 : 'A', //[grade:number] : string;
    2 : 'A', //[grade:number] : string;
    3 : 'A', //[grade:number] : string;
    4 : 'A', //[grade:number] : string;
}

user.age = 10;
user.gender = 'male';

console.log(user.age);

interface Add {
    (num1:number, num2:number): number;
}

const add : Add = (x, y) => {
    return x + y;
}

add(10,20);

interface Car {
    color: string;
    wheels: number;
    start(): void;
}

interface Toy {
    name: string;
}

interface ToyCar extends Car, Toy {
    price: number;
}

const toyCar : ToyCar = {
    color : 'green',
    wheels : 1,
    name : 'test',
    price : 1,
    start() {
        console.log('start');
    }
}