2. 함수 표현식(Function Expressions)
- 코드를 봤을 때, 혼란을 방지하기 위해 할당하려는 함수의 이름을 생략하는 것이 일반적.
/* 함수 표현식 예제1 */
const sum = function (a,b) {
return a + b
}
sum(10, 10) //20
/* 함수 표현식 예제2 */
const sum = function reduce(a,b) {
//callee는 arguments 객체의 속성입니다.
// 그 함수의 몸통(body) 내에서 현재 실행 중인 함수를 참조하는 데 쓰일 수 있습니다.
// 이는 함수의 이름을 알 수 없는 경우에 유용합니다, 가령 이름 없는 함수 식(또한 "익명 함수"라 함) 내에서.
// 실제에서는 절대로 사용하지 말 것.
//https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/arguments/callee
console.log(arguments.callee.name)
return a + b
}
sum(10, 10) //20
reduce(10, 10) // Uncaught ReferenceError: reduce is not defiend
- 실제 함수를 호출하기 위해 sum을 선언.
- reduce는 실제 함수 내부에서만 유효한 식별자일 뿐, 함수를 외부에서 호출하는 데에는 사용할 수 없는 식별자.
- 참고: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/function
| 함수 표현식과 함수 선언문의 차이 (0) | 2024.04.07 |
|---|---|
| 일급 객체란(First Class Object)? (0) | 2024.04.07 |
| 함수를 정의하는 방법 - 1. 함수 선언문(Function Declarations) (0) | 2024.04.07 |
| 함수를 정의하는 방법 4가지 (0) | 2024.04.07 |
| 함수 (0) | 2024.04.07 |