반응형
callee 프로퍼티
재귀호출을 처리하는 방법 중 하나로 arguments 매개변수의 callee 프로퍼티라는 함수에 대해 알아보자.
(Callee 프로퍼티는 앞으로 자바스크립트에서 제거될 부분이다. ECMAScript5 “strict” 모드에서 callee 프로퍼티 사용을 금지하고 있다.)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> var ninja = { attack : function(n){ return n > 1 ? arguments.callee(n-1) + "-sword" : "sword"; } } console.log(ninja.attack(3)); // sword-sword-sword </script> </body> </html> | cs |
arguments매개변수는 암묵적으로 모든 함수에 전달이 된다. arguments 매개변수는 callee 라는 프로퍼티를 가지고 있는데, 이 것은 현재 실행 중인 함수를 가리킨다. callee 프로퍼티를 이용하면 항상 안정적으로 함수 자체를 참조할 수 있다.
반응형
'프로그래밍 노트 > JAVASCRIPT' 카테고리의 다른 글
[Javascript] 1종객체(함수) 가지고 놀기_2 (가변인자목록 arguments) (0) | 2019.01.06 |
---|---|
[Javascript] 1종객체(함수) 가지고 놀기_1 (0) | 2018.12.20 |
[Javascript] 익명함수 (0) | 2018.12.17 |
[Javascript] 스타일(CSS) 다루기 (0) | 2018.12.17 |
[Javascript] 속성(attribute)와 프로퍼티(property)의 차이 (0) | 2018.12.03 |