상세 컨텐츠

본문 제목

함수를 정의하는 방법 - 2. 함수 표현식(Function Expressions)

Front-End/Javascript

by devloper-jun 2024. 4. 7. 16:50

본문

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

관련글 더보기