[JavaScrpt] 함수의 파라미터와 아규먼트란? 파라미터에 기본값 설정하기

iberis2·2023년 1월 4일
0

함수의 파라미터에 기본값을 설정해줄 수 있다.

// 함수를 선언하며 지정한 매개변수 (아래의 time, name)가 parameter이다.
function greeting(time, name = "wrold") {
  console.log(`hello ${name}! good ${time}`);
}

// 함수 실행시 전달하는 인자(아래의 'morning', '김코딩')가 argument 이다.
greeting("morning", "김코딩"); // hello 김코딩! good morning

//아무 argument를 전달해주지 않게 되면 기본값으로 설정한 'world'가 들어간다.
greeting("morning"); // hello world! good morning

만약 기본값을 설정하지 않고, 아무 argument 도 전달해주지 않으면 undefined가 출력된다.

function greeting(name) {
  console.log(`hello ${name}`);
}

greeting(); // hello undefined

기본값을 설정해주었어도, argument는 parameter에 왼쪽부터 순서대로 들어간다.
따라서 기왕이면 기본값이 설정되어 있는 parameter는 오른쪽에 쓰는 것이 좋다.

  • ,를 넣고 두번째 argument를 적으면 SyntaxError가 발생한다.
  • undefined를 넣으면 기본 값으로 리턴된다.
    • 💡null을 넣으면 null로 리턴된다.
function greeting(name = 'world', time){
  console.log(`hello ${name}, good ${time}`); 
}

greeting('morning'); // hello morning, good undefined
greeting(, "morning"); //SyntaxError: Unexpected token ','
greeting(undefined, "morning"); // hello world, good morning
greeting(null, 'morning'); // hello null, good morning
profile
React, Next.js, TypeScript 로 개발 중인 프론트엔드 개발자

0개의 댓글