TIL.19 js 함수 (Function)

Haiin·2020년 11월 20일
0


Function (함수)


함수의 정의

  • 특정작업, 반복되는 작업을 위해 만들어진 독립적인 블록.
  • function 함수이름 () {} 형태로 이루어진다.
  • 함수는 보통 호출한다 라고 쓰이는데 이 시점이 바로 함수가 실행되는 시점이다.
  • 호출시에는

매개변수(parameter)와 인자(argument)

  • 매개변수와 인자는 사실 같은 값 이다.
  • 단지, 위치에 따라서 함수선언때 함수이름 다음 괄호()에 넣어주는 값을 매개변수(parameter) 이라 부르고 함수를 호출할때 괄호()안에 넣어주는 값을 인자(argument) 라고 부른다.
  • 흥미로운 점은 매개변수의 갯수대로 인자의 갯수를 넣어주지 않아도 에러가 발생하지 않는다는 점이다. 단지 undefined 값을 갖는다.
    function add(x, y) {
      return x + y;
    }
    console.log(add(1)); // NaN (1 + undefined)

매개변수와 인자의 갯수가 다른 함수의 활용

<문제>
주어지는 세개의 인자들 중에서
년도 인자만 받았을 경우 --> "1234년" 과 같은 형식의 문자열을 리턴 해주세요.
년도,월 인자를 받았을 경우 ---> 년도와 월을 조합해서 "1234년 5월" 과 같은 형식의 문자열을 리턴 해주세요.
년도,월,일 인자를 전부 받았을 경우 --> 년도,월,일을 조합해서 "1234/5/6" 과 같은 형식의 문자열을 리턴 해주세요.

function meetAt(year, month, date) {
  if (date) {
    return year + "/" + month + "/" + date 
  }
  if (month) {
    return year + "년 " + month + "월"
  }
  if (year) {
    return year + "년"
  }
}
  • 주어지는 값이 하나일때, 두개일때, 세개의 인자를 모두 받을때 이렇게 세가지 경우가 주어진다. 일단, 문제부터가 매개변수의 갯수만큼 인자를 할당하지 않고 함수를 호출하는데 있다.
  • 인자가 하나만 주어졌을때는 무조건 년도 이기 때문에 맨 마지막 if문에 써주었다. 이코드가 맨 첫번째에 나오면 세개의 인자가 주어졌을때도 년도가 포함되어있기 때문에 첫번째 코드만 실행되고 끝나버리기 때문이다.
  • 여기서 또 한가지 알고넘어갈 점은 if문은 else가 없어도 실행가능하다.

0개의 댓글