interface

이지선·2021년 9월 12일
0

typescript

목록 보기
1/2

interface 문법

interface 인터페이스 이름 { 속성:타입	}

위와 같은 방식으로 속성의 타입을 정하여 사용한다.

예시👀

interface person {
    name:string;
    age:number;
}

function infomation(obj:person) {
    console.log(obj.name)
} //ji출력

let person2 = {name:'ji', age:10}

infomation(person2)

information의 인자는 person과 같은 타입을 가져야하므로 age에 10(number)대신 '10'(string)이라는 값을 넣을 경우 타입이 맞지 않아 에러가 난다.

interface 옵션

interface person {
    name:string;
    age:number;
}

function infomation(obj:person) {
    console.log(obj.name)
} 

let person2 = {name:'ji'}

infomation(person2)

만약 위처럼 person2에 name속성만 부여한다면 오류가 뜬다.
age의 값이 없기 때문이다. 그래서

interface person {
    name:string;
    age?:number;
}

❓를 이용하여 optional처리를 해주면 오류를 없앨 수 있다.

interface 함수

interface plus {
    (num:number):number;
}

const math:plus = function(a){
    return a*2
}

math(3)

함수의 인터페이스에는 타입이 선언된 파라미터 리스트와 리턴 타입을 정의한다.
마찬가지로 math('3')처럼 string을 넣으면 타입 오류가 발생한다.

interface 확장

interface person {
    name:string;
    age:number;
}

interface skills extends person{
    skill:string;
}

const coder:skills = {
    name:'아주 멋있는 이름',
    age:10,
    skill:'ts'
}

extends 키워드를 이용하여 person의 속성들을 상속받고 skill:string;를 추가하면 interface를 새로 만들지 않아도 필요한 속성만 추가하여 이용할 수 있다.

profile
👩🏻‍💻

0개의 댓글