✅ 함수

  • 다수의 명령문을 코드 블럭으로 감싸, 하나의 실행 단위로 만든 코드의 집합 입니다.
  • 유사한 동작을 하는 코드를 하나로 묶어, 범용성을 확대시킨 블록 코드입니다. (모듈화)
  • 함수는 정의 부분호출 부분 으로 구성되어 있습니다.
  • 함수는 가급적 한가지 일만 하며, 매개 변수는 최대 3개 이내로 작성하는 것을 권장합니다.


1️⃣ 함수 정의 방식

❶ 함수 선언식

❷ 함수 표현식

❸ 화살표 함수


2️⃣ 함수 호출

  • 자바스크립트의 함수는 매개변수와 인수의 개수가 일치하는지 확인하지 않습니다.
  • ES6에서 도입된 기본값을 통해 undefined 변수가 들어올 경우 값 초기화가 가능합니다.
  • dynamic parameter 를 이용하면, 매개변수 없이도 컨트롤이 가능합니다.

3️⃣ 함수 반환

  • return 후 코드는 수행되지 않으며, default retrun value는 undefined 입니다.

2️⃣ 재귀 함수

  • 재귀함수란?
    • 함수 스스로 자신을 호출하여 동일한 코드가 계속적으로 수행되는 함수 호출 방법 입니다.
    • 재귀 함수는 특정 조건이 되었을 때, 그만 호출 되도록 하는 exit code 가 필요합니다.
    • 재귀 함수는 호출될 때 마다, 메모리에 스택이 쌓이게 됩니다.


3️⃣ 콜백 함수

  • 콜백 함수란?
    • 다른 함수의 매개 변수로 전달되어 수행되어지는 함수 합니다.
  • 고차 함수란?
    • 매개변수를 통해 함수를 받아 호출하는 함수 입니다.

예제

  • call by

    • call by value

      • 값에 의한 복사로 함수 내에서 매개변수의 값을 변경시켜도 영향을 끼지치 않습니다.

      • 원시타입 을 넘겼을 때 발생합니다.

    • call by reference

      • 주소에 대한 복사로 함수 내에서 매개변수 내 값을 변경 시키면 원본 데이터도 영향을 받습니다.

      • 객체 타입 이 매개변수로 들어왔을 때 발생합니다.

📝 연습 문제

두 정수를 입력 받아 가장 큰 값을 출력해주는 함수를 작성하세요.

  • 삼항 연산자를 사용하면 더 짧게 작성이 가능합니다.
profile
#UXUI #코린이

0개의 댓글