Function 정의
Function 정의
1. Function
Javascript 기본 함수
function jsAdd(num1,num2){
return num1+num2
}
* 화살표함수 *
const jsAdd = (num1,num2) => {
return num1+num2
}
Typescript 기본 함수
- 매개변수의 타입을 지정해줌 , 함수의 타입을 지정해줌
function add(num1:number,num2:number):number{
return num1+num2
}
* 화살표함수 *
const add = (num1:number,num2:number):number => {
return num1+num2
}
Optional parameter : 파라미터가 있는 함수에 아무런 값도 전달하지 않고 함수를 호출하는 경우 (출력은 undefined)
- ?를 사용하면 전달해도 되고 전달 하지 않아도됌
- ?를 사용하지 않으면 lastname에 parameter가 없으면 Error 출력
function printName(firstname:string , lastname:string){
console.log(firstname);
console.log(lastname);
}
* Error *
printName("steve","Jobs") // 값 : "steve","Jobs"
printName("Kdn"); // 2번째 파라미터를 넣지 않음 An argument for 'lastname' was not provided.
printName("dnod") // 2번째 파라미터를 넣지 않음 An argument for 'lastname' was not provided.
* Correct *
function printName(firstname:string , lastname?:string){
console.log(firstname);
console.log(lastname); // undefined
}
printName("steve","Jobs") // 값 : "steve","Jobs"
printName("Kdn"); // 값 : "kdn","undefined"
printName("dnod"); // 값 : "dnod","undefined"
Default parameter : 기본값으로 설정하면 기본 입력한 메시지가 출력
function printMessage(message: string = "default message") {
console.log(message);
}
printMessage(); // 값 : default message
Rest parameter(Spread 연산자(...)를 사용하여 함수의 파라미터를 작성한 형태) : 모든 전달 되는 파라미터를 배열로 받아옴 number[] = 숫자 타입의 배열
function addNumbers(...numbers: number[]): number {
return numbers.reduce((a, b) => a + b); //누산 reduce 함수
}
console.log(addNumbers(1, 2));
console.log(addNumbers(1, 2, 3, 4));
console.log(addNumbers(1, 2, 3, 4, 5, 0));