Movatterモバイル変換


[0]ホーム

URL:


  1. 개발자를 위한 웹 기술
  2. JavaScript
  3. JavaScript 참고서
  4. 표준 내장 객체
  5. Function
  6. Function: name

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

Function: name

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2016년 8월⁩.

Function 인스턴스의name 속성은 함수가 생성될 때 지정된 대로 함수의 이름을 나타내거나 익명으로 생성된 함수의 경우anonymous 또는''(빈 문자열)일 수 있습니다.

시도해 보기

const func1 = function () {};const object = {  func2: function () {},};console.log(func1.name);// Expected output: "func1"console.log(object.func2.name);// Expected output: "func2"

문자열.

Property attributes ofFunction: name
쓰기 가능불가능
열거 가능불가능
설정 가능가능

참고 :비표준, ES6 이전 구현에서는configurable 속성 또한false 였습니다.

설명

name 속성은 함수 이름 또는 (ES6 구현 이전) 익명(anonymous) 함수에 대해서는 빈 문자열을 반환합니다.

js
function doSomething() {}console.log(doSomething.name); // logs "doSomething"

new Function(...) 또는 그냥Function(...) 구문으로 생성된 함수는name 속성을 빈 문자열로 설정합니다. 다음 예에서는 익명 함수가 생성되므로name은 빈 문자열을 반환합니다:

js
var f = function () {};var object = {  someMethod: function () {},};console.log(f.name == ""); // trueconsole.log(object.someMethod.name == ""); // 역시 true

ES6 함수를 구현한 브라우저는 익명 함수 이름을 그 구문상 위치로부터 추측할 수 있습니다. 예를 들어:

js
var f = function () {};console.log(f.name); // "f"

function 식에서 이름으로 함수를 정의할 수 있습니다:

js
var object = {  someMethod: function object_someMethod() {},};console.log(object.someMethod.name); // logs "object_someMethod"try {  object_someMethod;} catch (e) {  console.log(e);}// ReferenceError: object_someMethod가 정의되지 않음

함수 이름은 바꿀 수 없습니다, 이 속성은 읽기 전용입니다:

js
var object = {  // 익명  someMethod: function () {},};object.someMethod.name = "someMethod";console.log(object.someMethod.name); // 빈 문자열, someMethod는 익명

그러나 바꾸려면,Object.defineProperty()를 사용할 수 있습니다.

객체의 'class'를 확인하기 위해obj.constructor.name을 사용할 수 있습니다:

js
function a() {}var b = new a();console.log(b.constructor.name); // logs "a"

명세서

Specification
ECMAScript® 2026 Language Specification
# sec-function-instances-name

브라우저 호환성

같이 보기

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp