12.1 함수란?

<aside> 💡 input의 대한 output을 내보내는 것 함수는 일련의 과정을 문으로 구현하고 코드 블록으로 감싸 하나의 실행 단위로 정의한 것이다.

</aside>

Untitled

12.2 함수를 사용하는 이유

<aside> 💡 코드의 재사용 유지보수 및 코드의 신뢰성 향상 코드의 가독성 향상

</aside>

12.3 함수 리터럴

<aside> 💡 함수는 객체다

</aside>

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

Untitled

일반 객체는 호출할 수 없지만, 함수는 호출할 수 있다.

12.4 함수 정의

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

// 함수 표현식
var add = function(x, y) {
	return x + y;
}

// Function 생성자 함수
var add = new Function('x', 'y', 'return x + y');

// 화살표 함수 (ES6)
var add = (x,y) => x + y;

함수 선언문은 함수 이름을 생략할 수 없다.

함수 선언문은 표현식이 아닌 문 이다.

function foo() { console.log('foo'); }

foo(); // foo

(function bar() { console.log('bar'); });
bar(); // ReferenceError: bar is not defined