05-2 자바스크립트 함수의 기본 형태 2

onezeun·2022년 1월 25일
0

API : Application Programming Interface(약속)
→ 애플리케이션 프로그램을 만들 때의 약속

나머지 매개변수

함수의 매개변수 앞에 마침표 3개(...)을 입력하여 매개변수들이 배열로 들어오게 하는 문법

가변 매개변수 함수 : 호출할 때 매개변수의 개수가 고정되어 있지 않은 함수 나머지 매개변수를 활용해서 만든다.

const 함수 = function (a, b, ...매개변수) {
  console.log(a,b,매개변수)
}

/* 잘못된 예
const 잘못된예 = function(...매개변수, a, b) { }
나머지 매개변수는 항상 맨 뒤에 위치
*/

함수()
함수(1)
함수(1,2)
함수(1,2,3)
함수(1,2,3,4)

실행결과

전개 연산자

배열을 전개해서 함수의 매개변수로 전달해주는 문법
형태 : 함수 이름(...배열)

배열에 있는 내용을 전개해서 실행할 수 있게 해줌

const 함수 = function(a, b, c) {
console.log(a, b, c)
}

const n = [1, 2, 3]
함수(n)
함수(...n) // 전개 연산자

실행결과
(3) [1, 2, 3]
1 2 3

기본 매개변수

매개변수에 기본값을 지정하는 문법

기본 매개변수를 추가한 윤년 함수

  /* 4로 나누어 떨어지는 해는 윤년이다.
  하지만 100으로 나누어 떨어지는 해는 윤년이 아니다.
  하지만 400으로 나누어 떨어지는 해는 윤년이다. */


const isLeapYear = function (year = new Date().getFullYear()) {
  // 함수 매개변수를 아무것도 입력하지 않았을때 올해 기준으로 나옴
  return (year % 4 === 0) && (year % 100 !== 0) || (year % 400 === 0)
}

console.log(isLeapYear()) // 올해가 윤년인지 알려준다
console.log(isLeapYear(2020)) // 2020년이 윤년인지 알려준다

TIP! 자바스크립트에서 true 또는 false를 리턴하는 함수를 만들때는 일반적으로 isOOOO이라는 이름으로 만든다.

과거에 쓰던 기본 매개변수 함수
대충 아 ~~ 과거에는 이렇게 썼구나 정도만 알면 된다고 하심 ㅎㅋ

const isLeapYear = function(연도) {
  // 1.
  if (typeof(연도) === 'undifined') {
    연도 = new Date().getFullYear()
  }
  
  // 2.
  연도 = typeof(연도) === 'undifined' ? new Date().getFullYear() : 연도
  연도 = typeof(연도) !== 'undifined' ? 연도 : new Date().getFullYear()
  
  // 3.
  연도 = 연도 || new Date().getFullYear()
profile
엉망진창

0개의 댓글