
함수 자체가 '식'이기 때문에, 익명함수를 변수에 할당할 수 있다.
이것을 함수 표현식 이라고 한다.
var add = function(a,b) {
return a + b
}
var sum = add(10,20);
sum

( | (
function() { | function() {
..... | .....
} | }
) (); | ());
(function() { | (function() {
..... | .....
}) (); | }());
a. 함수에서 반환하는 값을 변수에 할당한다.
(실행함수를 변수에 할당할 수도 있음)
var result = (function() {
return 10 + 20;
} ( ));
console.log(result);

b. 매개변수가 필요한 경우
var result = (function(a,b) { //매개변수 추가
return a + b;
} (10,20)); // 인수 추가 -> 즉시 실행하기 위해서
console.log(result);

ES6 이후로는 => 표기법을 사용하여 함수 선언을 더욱 간단하게 작성할 수 있다. 익명 함수에서만 사용 가능
a. 매개변수가 없을 경우
const hi = function() {
return "안녕하세요?";
}
const hi = () => function() {return "안녕하세요?"};
//함수 내용이 한 줄이라면 간단하게 표기 가능
const hi = () => "안녕하세요?";
b. 매개변수가 1개일 경우
let hi = function(user) {
document.write(user + "님, 안녕하세요?");
}
let hi = user => document.write(user+ "님, 안녕하세요?");
c. 매개변수가 2개 이상일 경우
let sum = function(a,b) {
return a + b;
}
let sum = (a,b) => { return a + b }
let sum = (a,b) => a + b;
글이 잘 정리되어 있네요. 감사합니다.