Clack
2021. 1. 15. 21:00
자바스크립트는 함수를 정의하는 함수 리터럴 문법도 제공한다. 함수 리터럴은 function 키워드, 함수 이름(생략할 수 있다), 괄호로 둘러싸인 함수 전달인자 목록, 마지막으로 중괄호로 구성된다. 즉, 함수 리터럴은 함수 이름을 명시하지 않는다는 것을 제외하고는 함수 정의와 모양이 동일하다. 함수 정의와 함수 리터럴 간에 큰 차이점은 함수 리터럴은 자바스크립트 표현식 내에 나타날 수 있다는 점이다. 따라서 다음 과 같이 함수 정의 문법으로 square( )를 정의하는 대신,
function square(x) { return x*x; }
함수 리터럴을 사용할 수 있다.
var square = function(x) { return x*x; }
이름 없는 함수를 프로그램 내에 리터럴 형태로 포함시킬 수 있게 한 최초의 언어인 Lisp 프로그램 언어를 기리는 의미에서 이러한 방식으로 정의된 함수를 람다함수(lambda function)라고 부른다.