함수 표현식 (Function Expression) & (익명 함수)
함수를 변수에 할당하는 방식으로 정의하며, 함수를 정의하는 동시에 변수에 할당하기 때문에 변수 이름으로 함수를 호출 합니다.
// 예제 1
const result = function(a, b) {
return a + b;
}
console.log(result(3,5)); // 8
// 예제 2
const computer = function(game) {
console.log(`지뢰찾기, ${game}`)
}
computer("오목") // 지뢰찾기, 오목
함수 선언문 (Function Declaration)
함수를 만들고 함수 이름으로 호출하는 방식으로 함수 이름이 함수 스코프 내부에 호이스팅되기 때문에 함수 선언문을 코드 어디서든 사용 할 수 있습니다.
// 예제 1
function result(a, b) {
return a * b;
}
console.log(result(3,5)); // 15
// 예제 2
function computer(game) {
console.log(`스타크래프트, ${game}`)
}
computer("워크래프트") // 스타크래프트, 워크래프트
화살표 함수 표현식 (Arrow Function Expression)
함수 표현식과 비슷하지만, 간결한 문법으로 함수를 작성 할 수 있는 장점이 있습니다. 함수를 변수에 할당하는 방식으로 정의 합니다. (주의: 화살표 함수는 표현식으로만 사용 됩니다.)
const result = (a, b) => {
return a + b;
}
console.log(result(3,5)); // 8
// 예제 2
const computer = (game) => {
console.log(`지뢰찾기, ${game}`)
}
computer("오목") // 지뢰찾기, 오목
익명 함수 (Anonymous function expression)
이름이 없기 때문에 변수명을 통해 해당 함수를 참조 하거나 변수에 할당되지 않았으면 함수 자체를 괄호로 묶은 후, 인수를 전달합니다.
// 예제 1
(function(x, y) {
console.log(x + y);
})(1, 2); // 3
// 예제 2
const result = function(a, b) {
return a + b;
}
console.log(result(1,2)); // 3
'프로그래밍 > JavaScript' 카테고리의 다른 글
자바스크립트 코드레시피 278 책 후기 (0) | 2023.05.04 |
---|---|
Javascript Scope chain과 Closure의 연관성 (0) | 2023.04.07 |