[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Function/name [Back]  [Original]

Function: name - JavaScript | MDN

MDN Web Docs

View in English Always switch to English

Function: name

Baseline

20168

name Function anonymous ''

const func1 = function () {};

const object = {
  func2: function () {},
};

console.log(func1.name);
// : "func1"

console.log(object.func2.name);
// : "func2"

Function: name

: ES2015 configurable false

name

name

js
function someFunction() {}

someFunction.name = "otherFunction";
console.log(someFunction.name); // someFunction

Object.defineProperty()

name

name

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

export default "default"

js
// -- someModule.js --
export default function () {}

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"

Function

Function() "anonymous"

js
new Function().name; // "anonymous"

name

js
const someFunction = function someFunctionName() {};
someFunction.name; // "someFunctionName"

function ""

js
(function () {}).name; // ""
(() => {}).name; // ""

js
function getFoo() {
  return () => {};
}
getFoo().name; // ""

js
const f = function () {};
const object = {
  someMethod: function () {},
};

console.log(f.name); // "f"
console.log(object.someMethod.name); // "someMethod"

js
let f;
f = () => {};
f.name; // "f"

name

js
const [f = () => {}] = [];
f.name; // "f"

const { someMethod: m = () => {} } = {};
m.name; // "m"

function foo(f = () => {}) {
  console.log(f.name);
}
foo(); // "f"

class Foo {
  static someMethod = () => {};
}
Foo.someMethod.name; // someMethod

js
const o = {
  foo() {},
};
o.foo.name; // "foo";

Function.bind() "bound "

js
function foo() {}
foo.bind({}).name; // "bound foo"

get set "get" "set"

js
const o = {
  get foo() {
    return 1;
  },
  set foo(x) {},
};

const descriptor = Object.getOwnPropertyDescriptor(o, "foo");
descriptor.get.name; // "get foo"
descriptor.set.name; // "set foo";

obj.constructor.name ()

js
class Foo {}
Foo.name; // "Foo"

: JavaScript name name name

(Symbol)

js
const sym1 = Symbol("foo");
const sym2 = Symbol();

const o = {
  [sym1]() {},
  [sym2]() {},
};

o[sym1].name; // "[foo]"
o[sym2].name; // "[]"

(#)

js
class Foo {
  #field = () => {};
  #method() {}
  getNames() {
    console.log(this.#field.name);
    console.log(this.#method.name);
  }
}

new Foo().getNames();
// "#field"
// "#method"

obj.constructor.name

js
function Foo() {} //  class Foo {}

const fooInstance = new Foo();
console.log(fooInstance.constructor.name); // "Foo"

name()

js
class Foo {
  constructor() {}
  static name() {}
}

static name() Foo.name name() fooInstance fooInstance.constructor.name

js
const fooInstance = new Foo();
console.log(fooInstance.constructor.name); //  name() {}

name

js
class Foo {
  static name = 123;
}
console.log(new Foo().constructor.name); // 123

name

js
Foo.name = "Hello";
console.log(Foo.name); // Foo  "name"  "Hello" "Foo" 

name

JavaScript

: name JavaScript JavaScript

js
function Foo() {}
const foo = new Foo();

if (foo.constructor.name === "Foo") {
  console.log("'foo'  'Foo' ");
} else {
  console.log("");
}

js
function a() {}
const b = new a();
if (b.constructor.name === "Foo") {
  console.log("'foo'  'Foo' ");
} else {
  console.log("");
}

"'foo' 'Foo' " else name

ECMAScript 2027 LanguageSpecification
# sec-function-instances-name


Web Proxy Viewer  |  New URL  |  Original Page