JavaScript에서 Arguments.callee.caller 속성 사용 중단
호출 함수에 대한 액세스를 허용하는 Arguments.callee.caller 속성은 다음과 같습니다. 여러 가지 우려로 인해 JavaScript에서 더 이상 사용되지 않습니다.
사용 중단 동기
명명된 함수 표현식을 사용한 대안
ECMAScript 3에서는 명명된 함수 표현식이 솔루션으로 도입되었습니다.
[1,2,3,4,5].map(function factorial(n) { return (!(n>1))? 1 : factorial(n-1)*n; });
이 접근 방식은 다음과 같은 몇 가지 장점을 제공했습니다.
Arguments.callee.caller 지원 중단
args.callee 관련 문제 외에도 Function.caller는 성능에 영향을 미치고 최적화를 어렵게 만들었습니다. 호출 스택이 인라인 및 기타 최적화를 방해하는지 확인해야 하는 상수가 필요합니다. 따라서 이러한 문제를 제거하기 위해 인수.callee.caller와 Function.caller는 모두 더 이상 사용되지 않습니다.
지원 중단에도 불구하고 일부 브라우저는 여전히 이러한 속성을 지원하지만 사용은 권장되지 않습니다. 호출 체인에 액세스하고 관리하려면 명명된 함수 표현식과 같은 대체 접근 방식을 사용하는 것이 가장 좋습니다.
위 내용은 JavaScript에서 `arguments.callee.caller` 속성이 더 이상 사용되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!