자바스크립트 익명 함수는 함수명 대신 변수명에 함수 코드를 저장하는 구현 방식이다.
익명 함수의 소스 코드는 변수값이므로 끝에 세미콜론 ;을 대입한다. 익명 함수는 호출 시 변수명을 함수명처럼 사용하면 된다.
var hello = function(){
console.log("Hello World!");
};
hello();
var hi = function() {
var z = a + b;
retrun z;
}
var apple = function() {
var name = 'closure';
return function inner()
}
클로저는 두 개의 함수로 만들어진 환경으로 이루어진 특별한 객체의 한 종류
context
를 말한다.클로저를 통해서 자바스크립트에 없는 비공개 속성/메소드, 공개 속성/메소드를 구현할 수 있는 방안을 마련한다.
function outer() {
var name = `closure`;
function inner() {
console.log(name);
}
inner();
}
outer();
// console> closure