모던자바스크립트(4Day)

Gil Hwan·2022년 5월 11일

모던자바스크립트

목록 보기
4/9
post-thumbnail

함수

자바스크립트에서 가장 중요한 핵심 개념이다.
함수는 일련의 과정을 문(statement)으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다.

  • 전달받는 변수 ➡️ 매개변수 (parameter)
  • 입력 ➡️ 인수 (argument)
  • 출력 ➡️ 반환값 (return value)

  • 함수의 구성 요소

함수 정의

function 키워드 뒤에 함수 이름을 넣는 방식의 함수 선언문(function declaration statement)
상수나 변수에 대입하는 방식의 함수 표현식(function expression)
그리고 ES6에서 도입된 화살표 함수로 함수를 정의할 수 있다.

function a() {} // 함수 선언문
const b = function() {} // 함수 표현식
const a = () => {}  // 화살표 함수 (ES6)

함수 선언

함수 선언문은 함수 리터럴과 형태가 동일하다. 단, 함수 리터럴은 함수 이름을 생략할 수 있으나 함수 선언문은 함수 이름을 생략할 수 없다.

// 함수 선언문
function add(x, y) {
	return x + y;
}

// 함수 호출
add(1, 5);

----------------------
//함수 표현식
var sub = function (x, y) { return x - y; };
함수 표현식은 변수에 할당되는 값이 함수 리터럴 문이다.

변수 선언과 함수 정의
변수는 '선언'한다고 했지만 함수는 '정의'한다고 표현했다

자바스크립트 엔진은 생성된 함수를 호출하기 위해 함수 이름과 동일한 이름의 식별자를 암묵적으로 생성하고, 거기에 함수 객체를 할당한다.
함수는 함수 이름으로 호출하는 것이 아니라 함수 객체를 가리키는 식별자로 호출한다.

  • 호이스팅 : 함수 선언문이 코드의 선두로 끌어 올려진 것처럼 동작하는 자바스크립트 고유의 특징을 함수 호이스팅이라 한다.

함수 호출

함수는 함수를 가리키는 식별자와 한 쌍의 소괄호인 함수 호출 연산자로 호출한다. 함수를 호출하면 현재의 실행 흐름을 중단하고 호출된 함수로 실행 흐름을 옮긴다.

매개변수와 인수

매개변수(parameter)를 통해 인수(argument)를 전달한다.

function add (x, y) // x,y 매개변수
	return x + y; // 반환값

var result = add(2,5); // ()안에는 인수 

+) 매개변수는 함수 몸체 내부에서만 참조할 수 있고 함수 몸체 외부에서는 참조할 수 없다.
+) 이상적인 함수는 한 가지 일만 해야 하며 가급적 작게 만들어야 한다.

코드를 입력하세요
profile
기억에 남는 컨텐츠를 만들고 싶습니다.

0개의 댓글