익명 함수는 일반 함수와 다르게 함수의 이름이 존재하지 않고 변수에 함수를 담아 사용하는 함수입니다.
변수에 값을 저장하는 방법처럼 변수에 함수를 저장해서 사용합니다.
// 함수 선언문functionfoo(){
console.log("bar");}// 함수표현식letfoo=function(){
console.log("bar");};
익명 함수는 주로 재사용 되지 않고 한번만 사용되는 함수일 경우에 자주 사용하게 되는데, 이는 일회성인 함수를 일반 함수로 구현 함으로서 불필요한 메모리를 차지하는것을 방지하여 메모리 낭비를 줄일 수 있다는 장점 때문에 주로 사용됩니다.
하지만 익명 함수 또한 단점이 있는데 Hoisting이 적용되지 않는다는 단점이 있습니다.
일반적으로 작성된 함수의 경우 함수 선언보다 호출이 위에 있더라도 호출하는 위치에 상관없이 사용될 수 있지만, 익명함수의 경우 Hoisting이 적용되지 않아 참조 에러가 나오게 됩니다.