웹 개발

javascript arguments.callee

노루아부지 2019. 8. 24. 00:04

callee 속성은 현재 실행되고 있는 함수(함수 객체)를 나타낸다. 마치 생성자 안에서 사용되는 this와도 유사한 개념이다.

arguments.callee 속성을 이용하면 익명함수(unnamed function)가 자신을 참조할 수도 있고 재귀 호출도 쉽게 구현할 수 있다.

 

function makeFactorialFunc() {
   return function(x) {
      if(x <= 1) {
         return 1;
      }
      return x * arguments.callee(x - 1);
   }
}

 

728x90
loading