상상 너머 그 무언가...

함수 리터럴 본문

개발관련(Development)/웹(Web), 자바스크립트(Javascript)

함수 리터럴

Clack 2021. 1. 15. 21:00

자바스크립트는 함수를 정의하는 함수 리터럴 문법도 제공한다. 함수 리터럴은 function 키워드, 함수 이름(생략할 수 있다), 괄호로 둘러싸인 함수 전달인자 목록, 마지막으로 중괄호로 구성된다. 즉, 함수 리터럴은 함수 이름을 명시하지 않는다는 것을 제외하고는 함수 정의와 모양이 동일하다. 함수 정의와 함수 리터럴 간에 큰 차이점은 함수 리터럴은 자바스크립트 표현식 내에 나타날 수 있다는 점이다. 따라서 다음 과 같이 함수 정의 문법으로 square( )를 정의하는 대신,

function square(x) { return x*x; }

함수 리터럴을 사용할 수 있다.

var square = function(x) { return x*x; }

이름 없는 함수를 프로그램 내에 리터럴 형태로 포함시킬 수 있게 한 최초의 언어인 Lisp 프로그램 언어를 기리는 의미에서 이러한 방식으로 정의된 함수를 람다함수(lambda function)라고 부른다.