일련의 과정을 문으로 구현하고 코드 블록으로 감싸 하나의 실행 단위로 정의한 것이다.

함수에 입력을 전달 받는 변수를 매개변수, 입력을 인수, 출력을 반환값 이라 한다.

function add (x, y) {
	return x + y;
}

add(1,2);

add : 함수 이름

x, y : 매개변수 (parameter)

x+y : 반환값

1, 2 : 인수 (arguments)

함수를 이용하게 되면 몇 번이든 호출할 수 있어 코드의 재사용을 높일 수 있다. 또한 코드의 중복을 억제하여 유지보수의 편의성을 높이고, 실수를 줄여 코드의 신뢰성을 높인다.

다만, 이런 편의성을 높이기 위해서는 적절한 함수 이름과 변수를 사용해 코드의 가독성을 높여야 한다.

함수 리터럴

자바스크립트에서 함수는 객체 타입의 값이다. 즉, 함수는 객체다.

함수도 함수 리터럴로 생성할 수 있다. 함수 리터럴은 function 키워드, 함수 이름, 매개 변수 목록, 함수 몸체로 구성된다.

var f = function add(x,y) {
	return x + y;
};

함수는 객체지만 일반 객체와 다르게 호출할 수 있다.

함수는 다양한 방법으로 정의할 수 있다.

변수선언했다고 하지만, 함수정의한다고 표현한다.