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));
댓글 영역