이름이 없는 함수
를 의미한다.
익명 함수를 변수에 할당 할 수 있으며, 다른 함수의 매개변수로 사용할 수 있다.
var add = function(a, b) { // 함수 선언 후 변수 add에 할당
return a + b;
}
/* 앞에서 선언한 익명 함수를 변수 add에 할당한 후,
변수 add를 함수 이름처럼 사용해서 익명 함수를 실행 */
var sum = add(10, 20);
console.log(sum); // 30
함수를 정의함과 동시에 실행하는 함수
를 의미한다.
즉시 실행함수를 변수에 할당 할 수 있으며, 함수에서 반환하는 값을 변수에 할당할 수도 있다.
var result = (function() {
return 10 + 20;
}()); // 즉시 실행 함수는 식이기 때문에 소스 끝에 세미콜론을 붙인다.
매개변수가 필요한 함수는 function 다음의 괄호 안에 매개변수를 넣고 함수를 정의한다.
또한, 함수 끝에 있는 괄호에는 인수를 넣고 실행한다.
var result = (function(a, b) {
return a + b;
} (10, 20)); // 인수 추가
=> 표기법 (화살표 표기법)을 사용해 함수 선언을 작성한다.
화살표 함수는 익명 함수에서만 사용할 수 있다.
let hi = function() {
return "안녕하세요.";
}
// 화살표 함수 작성식
let hi = () => {return "안녕하세요."};
//중괄호 안에 함수 내용이 한 줄 뿐이라면 중괄호를 생략할 수 있다.
let hi = () => "안녕하세요";
// 이 때 return문은 생략된 것으로 간주한다.
let hi = function(name) {
console.log(name + "님, 안녕하세요.");
}
//화살표 함수 작성식
let hi = name => console.log(name + "님, 안녕하세요.");
let sum = function(a, b) {
return a + b;
}
// 화살표 함수 작성식
let sum = (a, b) => {return a + b}
//return 생략
let sum = (a, b) => a + b;