S1_U5_CH6. 함수

Judevv·2023년 5월 1일
0

Chapter 6. 함수

학습 목표

  • 함수표현식, 함수선언문으로 함수를 정의하고 호출할 수 있다.
  • 매개변수와 전달인자에 대해 설명할 수 있다.
  • 함수에 return문이 필요한 이유를 이해한다.
  • 함수를 이용해 구구단 n단을 출력하는 재사용이 가능한 코드를 작성할 수 있다.

6-1. 함수 정의

  • 함수는 입력을 받아서 코드블록 내부의 코드를 실행한 후, 함수의 실행 결과를 반환하는 일련의 과정의 묶음

  • 함수 외부에서 특정한 입력값을 전달하여 호출

    • 함수가 호출되면 함수 내부 코드 실행
    • 함수의 실행 결과는 다시 함수 외부로 반환(return)
  • 함수를 사용한다는 것은 특정한 코드실행 과정을 하나의 묶음으로 묶어서 필요할 때마다 호출하여 실행한다는 것을 의미

  • 특정한 코드실행 과정을 묶어서 함수를 생성하는 것을 '함수를 정의한다.' 라고 함

함수 선언문과 함수 표현식

  • 함수 선언문
    • 함수를 정의할 때는 function 함수 선언 키워드를 사용
    • function 키워드 다음에 함수명 지정
    • 그 뒤에 소괄호 () 입력, 소괄호 안에는 함수 내부에서 사용할 수 있는 매개변수 사용할 수 있음
    • 다음으로, 실행할 코드를 {} 코드블록 내부에 넣음
// 함수선언문으로 정의한 함수
function greeting () { 
	console.log('hello world') 
};
**함수는 호출되었을 때만 코드블록 내부 코드 실행**
  • 함수 표현식

    • 변수를 선언할 때 사용했던 let 키워드 사용하여 변수 선언
    • 함수를 할당하는 형태로 코드 작성
    • 함수선언문과 달리 특별한 식별자를 지정할 필요가 없음
// 함수표현식으로 정의한 함수
let greeting = function () {
	console.log('hello world')
};

6-2. 함수 호출

  • 함수는 함수를 호출했을 때만 실행됨
  • 함수 호출은 함수를 실행시키는 명령을 전달하는 것과 같음
  • 함수를 정의할 때 지정한 함수명 뒤에 소괄호를 붙이면 함수 호출 가능
  • 함수 표현식은 선언한 변수명에 소괄호를 붙임

6-3. 매개변수와 전달인자

  • 매개변수

    • 매개변수는 함수를 정의할 때 선언
    • 함수 코드블록 안에서 변수처럼 취급
    • 함수를 정의할 때 소괄호()에 매개변수를 추가 할 수 있음
    function greeting (name) {
    		console.log('hello ' + name);
    }
  • 전달인자

    • 함수를 호출할 때 소괄호 안에 값을 넣음으로써 매개변수에 값을 할당
    • 이것을 바로 전달인자라고 함
    function greeting (name) {
    		console.log('hello ' + name);
    }
    
    greeting('kimcoding'); // 'hello kimcoding'
  • 매개변수와 전달인자를 활용하면 함수 외부에서 함수 내부로 값을 전달할 수 있음

  • 매개변수보다 적은 수의 전달인자가 전달되면, 아무것도 전달되지 않은 매개변수는 undefined로 초기화됨

  • 매개변수는 함수 내부에서만 사용 가능하고, 함수 내부에서 선언한 변수도 함수 내부에서만 사용 가능

  • 매개변수와 함수 내부에서 선언한 변수는 자신이 선언된 위치에 따라 유효범위가 결정(스코프, scope)


6-4. return문

  • return문의 역할
    • 함수 내부의 코드가 차례대로 실행되다가 return문을 만나면 값을 반환하고 함수 종료, return문 뒤에 나오는 코드는 실행되지 않음
    • return문에 작성된 코드를 실행 후 결과를 함수 외부로 반환, 함수 외부에서 함수를 호출하면 실행 결과 확인 가능
    • 함수 호출의 결과를 변수에 할당하는 것도 가능
    • 함수의 호출 결과끼리의 연산 가능
profile
감성있는 개발자를 꿈꿔요

0개의 댓글