> 웹 프론트엔드 > JS 튜토리얼 > JavaScript에서 호출자 함수를 어떻게 안정적으로 식별할 수 있습니까?

JavaScript에서 호출자 함수를 어떻게 안정적으로 식별할 수 있습니까?

Patricia Arquette
풀어 주다: 2024-12-29 20:44:12
원래의
948명이 탐색했습니다.

How Can I Reliably Identify the Caller Function in JavaScript?

JavaScript의 호출자 함수 식별

JavaScript에서 함수의 caller 속성을 사용하면 함수를 호출한 함수의 이름을 검색할 수 있습니다. . 그러나 이 속성은 더 이상 사용되지 않는 것으로 간주되어 더 이상 권장되지 않습니다.

function main() {
  Hello();
}

function Hello() {
  // How do you find out the caller function is 'main'?
}
로그인 후 복사

콜 스택 찾기

콜 스택을 확인하려면args.callee를 사용할 수 있습니다. .caller.toString()이지만 이 역시 더 이상 사용되지 않습니다. 이 솔루션은 비표준이며 모든 브라우저 또는 JavaScript 구현에서 작동하지 않을 수 있습니다.

사용되지 않는 솔루션

function Hello() {
  alert(`caller is ${arguments.callee.caller.toString()}`);
}
로그인 후 복사

최신 솔루션

더 현대적인 솔루션은 새로운 솔루션을 사용하는 것입니다. Error().stack.

function Hello() {
  console.log(new Error().stack);
}
로그인 후 복사

이것은 호출자 함수 이름을 포함하는 스택 추적을 출력합니다.

중요 참고:

호출자 속성과 인수.callee.caller.toString()은 더 이상 사용되지 않으며 프로덕션 코드에 사용하면 안 됩니다. 호출 스택을 얻으려면 항상 새로운 Error().stack 솔루션을 사용하십시오.

위 내용은 JavaScript에서 호출자 함수를 어떻게 안정적으로 식별할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿