> 웹 프론트엔드 > JS 튜토리얼 > 런타임에 결정된 이름을 사용하여 JavaScript에서 명명된 함수를 만들 수 있습니까?

런타임에 결정된 이름을 사용하여 JavaScript에서 명명된 함수를 만들 수 있습니까?

Linda Hamilton
풀어 주다: 2024-11-14 10:09:01
원래의
682명이 탐색했습니다.

Can You Create a Named Function in JavaScript with a Runtime-Determined Name?

평가 없이 런타임에 결정된 이름으로 함수 생성

질문:

가능합니까? 함수 이름이 런타임에 결정되는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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