인터페이스 만들기
interface Student {
}
인터페이스 정의하기
interface Student {
studentID : number;
studentName: string;
age : number;
}
완성된 인터페이스는 타입으로써 사용 가능하다.
반환 값에 아까 만들었던 인터페이스인 Student를 넣어준다.
function getStudentDetails(studentID : number): Student {
studentID : number;
studentName: string;
age : number,
gender : string,
subject : string,
courseCompleted : boolean;
} {
return {
studentID : 123456,
studentName : "Mark Jacobs",
age : 20,
gender : "male",
subject : "Node JS",
courseCompleted : true
};
}
인터페이스를 타입으로 가지는 값은 인터페이스의 구조를 그 값으로 가지도록 강제된다.
인터페이스는 재사용 가능하다.
즉, 해당 함수의 반환 값은 반드시 student interface에 정의된 property들을 가져야 한다.
반환 값에 아까 만들었던 인터페이스인 Student를 넣어준다.
function getStudentDetails(studentID : number): Student {
studentID : number;
studentName: string;
age?: number,
gender : string,
subject : string,
courseCompleted : boolean;
} {
return {
studentID : 123456,
studentName : "Mark Jacobs",
age : 20,
gender : "male",
subject : "Node JS",
courseCompleted : true
};
}
? 를 붙이면 선택적 프로퍼티가 되어 해당 프로퍼티는 선택적이다.객체 내에서 선언된 함수
interface Student {
studentID : number;
studentName: string;
age : number;
addComment (comment:string):string;
addComment : (comment:string => string;
}
addComment (comment:string):string; : string타입의 comment를 argument로 받고, string타입을 반환하는 addComment라는 메소드이다.