상세 컨텐츠

본문 제목

Typescript로 블록체인 만들기 2) 타입 설정과 interface

카테고리 없음

by 쌩우 2019. 4. 26. 18:21

본문

1)에서 만든 index.ts 함수의 parameter에 대해서 parameter의 타입과 return할 값의 타입이 무엇이어야 하는지에 대해서 지정할 수 있다.

index.ts

const sayHi = (name: string, age: number, gender: string): string => {
    return (\`Hello ${name}, you are ${age}, you are a ${gender}!\`)
};
//지정한 타입과는 다른 parameter가 입력되었을 경우, 에러 메시지가 뜬다.
//const sayHi(): string 에서 string은 return 될 값의 타입을 말해준다. 따로 지정하지 않으면 void라는 빈 값으로 나타난다.

그렇다면 과연,
parameter로 object를 받고자 할 때에는 어떻게 해야할까?
이 때에는, interface라는 개념을 도입해야 한다.

interface Human {
    name: string,
    age: number,
    gender: string
}
//interface라는 개념을 사용하여, 객체를 받을 수 있다.

const person = {
    name: "Sangwoo",
    age: 29,
    gender: "Male"
}
//person이라고 하는 데이터가 Human이라는 interface의 형태와 같은 상태임을 알 수 있다.

const sayHi = (param: Human): string => {
    return (\`Hello ${param.name}, you are ${param.age}, you are a ${param.gender}!\`)
};
//parameter의 타입(인스턴스)이 Human과 같은 형태로 될 것임을 지정하고 있다.
//또한 return할 값의 변수도 param.name과 같이 객체의 형태를 활용하는 것을 볼 수 있다.

console.log(sayHi(person));

댓글 영역