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));