자바스크립트의 함수는 일급 객체이다. 함수가 일급 객체라는 것은 함수를 값처럼 자유롭게 사용할 수 있다는 것이다. 함수는 일급 객체이므로 함수 리터럴로 생성한 함수 객체를 변수에 할당할 수 있다. 이러한 함수 정의 방식을 함수 표현식이라고 한다. 함수 표현식의 함수 리터럴은 함수 이름을 생략하는 것이 일반적이다. // 기명,익명 함수 표현식 var add = function foo (x, y){ return x + y }; // 함수 객체를 가리키는 식별자로 호출 console.log(add(2, 5)); // 7 // 함수 이름은 호출하면 ReferenceError가 발생한다. // 함수이름은 함수 몸체 내부에서만 유요한 식별자다. console.log(foo(2, 5)); // ReferenceErr..