반응형
Function(함수)
● 매개변수의 타입과 리턴값의 타입을 명시해야한다. 하지만 리턴값의 타입은 생략할 수도 있다.
● 만약 함수에 리턴값이 없다면, void를 사용하여 작성할 수 있다.
● Typescript는 JavaScript와 달리 매개변수의 갯수에 맞춰 전달인자를 전달해야한다.
-> 매개변수의 갯수에 맞춰서 전달하지 않으면 Error가 발생한다.
● 선택적 매개변수를 사용할 경우 매개변수명 끝에 물음표(?)를 붙인다. (fitstName?: string, ...)
● 할당된 매개변수의 값을 정해놓을 수 있다.
반응형
// named function
// 정석
function add(x: number, y: number):number {
return x + y;
}
// 리턴값 타입 생략형
function add(x: number, y: number) {
return x + y;
}
// arrow function
// 정석
let add = (x: number, y: number): number => {
return x + y;
}
// 리턴값 타입 생략형
let add = (x: number, y: number) => {
return x + y;
}
// 함수에 리턴값이 없는 경우
let printAnswer = (): void => {
console.log("YES");
}
// Typescript는 JavaScript와 달리 매개변수의 갯수에 맞춰 전달인자를 전달해야한다.
// => 매개변수의 갯수에 맞춰서 전달하지 않으면 Error가 발생한다.
let greeting = (firstName: string, lastName: string): string => {
return `hello, ${firstName} ${lastName}`;
}
// 매개변수 보다 작게 전달한 경우
greeting('coding'); // Error
// 매개변수에 맞게 전달한 경우
greeting('coding', 'kim'); // hello, coding kim
// 매개변수 보다 많이 전달한 경우
greeting('coding', 'kim', 'hacker'); // Error
// 선택적 매개변수를 사용할 경우
// 매개변수 이름 끝에 ?를 붙인다. (fitstName?: string, ...)
let greeting = (firstName: string, lastName?: string): string => {
return `hello, ${firstName} ${lastName}`;
}
// 매개변수 보다 작게 전달한 경우
greeting('coding'); // hello, coding undefined
// 매개변수에 맞게 전달한 경우
greeting('coding', 'kim'); // hello, coding kim
// 매개변수 보다 많이 전달한 경우
greeting('coding', 'kim', 'hacker'); // Error
// 할당된 매개변수의 값을 정해놓은 경우
let greeting = (firstName: string, lastName: string ="kim"): string => {
return `hello, ${firstName} ${lastName}`;
}
// 매개변수 보다 작게 전달한 경우
greeting('coding'); // hello, coding kim
// 매개변수에 맞게 전달한 경우
greeting('coding', undefined); // hello, coding kim
// 매개변수 보다 많이 전달한 경우
greeting('coding', 'kim', 'hacker'); // Error
반응형