함수 내에서 함수 이름에 액세스
JavaScript에서는 해당 함수 내에서 함수 이름에 액세스하는 것이 어려울 수 있습니다. 기존 방법에는 프로토타입을 검사하거나 Function.caller 또는 Argument.callee를 사용하는 것이 포함되지만 이러한 접근 방식에는 브라우저 간 불일치, 잠재적인 보안 문제 등의 단점이 있습니다.
현대적이고 안정적인 솔루션은 ES6을 활용하는 것입니다. function.name 속성. 예:
function myFunction() { console.log(myFunction.name); // Outputs "myFunction" } myFunction();
ES5에서 보다 강력한 접근 방식은 유틸리티 함수를 사용하여 문자열 표현에서 함수 이름을 추출하는 것입니다. 고도로 최적화된 버전은 다음과 같습니다.
function functionName(fun) { return /\w+/.exec(fun.toString())[0]; }
예:
var obj = function() {}; console.log(functionName(obj)); // Outputs "obj"
위 내용은 다음은 기사의 내용과 질문 스타일에 맞는 몇 가지 제목 옵션입니다. **옵션 1(직접적이고 간결함)**: * JavaScript에서 함수 이름을 얻는 방법 **옵션 2(ES6 강조)**의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!