평가 없이 런타임에 결정된 이름으로 함수 생성
질문:
가능합니까? 함수 이름이 런타임에 결정되는 eval 또는 비표준 기능을 사용하지 않고 순수 JavaScript로 명명된 함수를 생성하려면?
답변(ES6에만 해당):
예, ES6 이상(일명 "ES2015")에서는 계산된 객체 속성 이름에 할당된 익명 함수 표현식을 사용하여 가능합니다.
const dynamicName = "foo" + Math.floor(Math.random() * 1000); const obj = { [dynamicName]() { // ... }, }; const f = obj[dynamicName]; console.log("Function's `name` property: " + f.name); // Outputs "foo###", where ### is a random 1-3 digit number
이 예에서는 계산된 속성 이름을 사용하여 함수의 임의 이름입니다. 함수는 객체 속성에 할당되며 해당 이름은 name 속성을 통해 액세스할 수 있습니다. 그러나 브라우저 호환성은 다를 수 있으며 일부 브라우저는 스택 추적에 동적 함수 이름을 표시하지 않을 수 있습니다.
위 내용은 런타임에 결정된 이름을 사용하여 JavaScript에서 명명된 함수를 만들 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!