Baseline Widely available
name
㯠Function
ãªãã¸ã§ã¯ãã®èªã¿åãå°ç¨ããããã£ã§ã使æã«ä»ãããã颿°ã®ååããããã¯ç¡å颿°ã®å ´å㯠anonymous
ã¾ã㯠''
ï¼ç©ºæååï¼ãè¿ãã¾ãã
const func1 = function () {};
const object = {
func2: function () {},
};
console.log(func1.name);
// æå¾
ãããåºåçµæ: "func1"
console.log(object.func2.name);
// æå¾
ãããåºåçµæ: "func2"
å¤
æ°å¤ã§ãã
æ¸è¾¼å¯è½ ä¸å¯ åæå¯è½ ä¸å¯ è¨å®å¯è½ å¯ã¡ã¢: æ¨æºå¤ã§ãã£ã ES2015 以åã®å®è£
ã§ã¯ãconfigurable
屿§ã false
ã§ãããã¨ã«æ³¨æãã¦ãã ããã
颿°ã® name
ããããã£ã¯ããããã°ãã¼ã«ãã¨ã©ã¼ã¡ãã»ã¼ã¸ã§é¢æ°ãèå¥ããããã«ä½¿ç¨ãããã¨ãã§ãã¾ããè¨èªèªä½ã«ã¯æå³ã¥ãã¯åå¨ãã¾ããã
name
ããããã£ã¯èªã¿åãå°ç¨ã®ããã代å
¥æ¼ç®åã§å¤æ´ãããã¨ã¯ã§ãã¾ããã
function someFunction() {}
someFunction.name = "otherFunction";
console.log(someFunction.name); // someFunction
夿´ããã«ã¯ã Object.defineProperty()
ã使ç¨ãã¦ãã ããã
name
ããããã£ã¯ã颿°ãå®ç¾©ããã¦ããæ¹æ³ããéå¸¸æ¨æ¸¬ããã¾ããæ¬¡ã®ç¯ã§ã¯ããããæ¨æ¸¬ããããã¾ãã¾ãªæ¹æ³ã«ã¤ãã¦è¨è¿°ãã¾ãã
name
ããããã£ã¯é¢æ°å®£è¨ã®ååãè¿ãã¾ãã
function doSomething() {}
doSomething.name; // "doSomething"
ããã©ã«ãã¨ã¯ã¹ãã¼ãããã颿°ã®å®£è¨
export default
宣è¨ã¯ã颿°ãå¼ã§ã¯ãªã宣è¨ã¨ãã¦ã¨ã¯ã¹ãã¼ããã¾ãã宣è¨ãç¡å颿°ã§ããå ´åãåå㯠"default"
ã¨ãªãã¾ãã
// -- someModule.js --
export default function () {}
// -- main.js --
import someModule from "./someModule.js";
someModule.name; // "default"
Function ã³ã³ã¹ãã©ã¯ã¿ã¼
Function()
ã³ã³ã¹ãã©ã¯ã¿ã¼ã§ä½æããã颿°ã¯ã "anonymous" ã®ååã«ãªãã¾ãã
new Function().name; // "anonymous"
颿°å¼
颿°å¼ã«ååãä»ãã¦ããå ´åããã®ååã name
ããããã£ã¨ãã¦ä½¿ç¨ããã¾ãã
const someFunction = function someFunctionName() {};
someFunction.name; // "someFunctionName"
function
ãã¼ã¯ã¼ãã使ç¨ãã¦çæããã颿°å¼ã¾ãã¯ã¢ãã¼é¢æ°ã¯ãååã ""
ï¼ç©ºæååï¼ã«ãªãã¾ãã
(function () {}).name; // ""
(() => {}).name; // ""
ãããããã®ãããªã±ã¼ã¹ã¯ã¾ãã§ããé常ãä»ã®å ´æã§å¼ãåç §ããããã«ã颿°å¼ã«ã¯ä½ææã«èå¥åã«æ·»ä»ãã¾ãï¼å¤æ°å®£è¨ãªã©ï¼ããã®ãããªå ´åãæ¬¡ã®ããã¤ãã®ç¯ã§ç¤ºãããã«ãååãæ¨æ¸¬ãããã¨ãã§ãã¾ãã
ååä»ãã§ãããã¨ãæ¨æ¸¬ã§ããªãå®ç¨çãªä¾ã¨ãã¦ã¯ãå¥ã®é¢æ°ããè¿ããã颿°ãããã¾ãã
function getFoo() {
return () => {};
}
getFoo().name; // ""
夿°å®£è¨ã¨ã¡ã½ãã
夿°ã¨ã¡ã½ããã¯ãæ§æä¸ã®ä½ç½®ããç¡å颿°ã®ååãæ¨è«ã§ãã¾ãã
const f = function () {};
const object = {
someMethod: function () {},
};
console.log(f.name); // "f"
console.log(object.someMethod.name); // "someMethod"
åããã¨ãä»£å ¥ã«ãé©ç¨ããã¾ãã
let f;
f = () => {};
f.name; // "f"
åæååã¨æ¢å®å¤
æ§é åè§£ãããã©ã«ã弿°ãã¯ã©ã¹ãã£ã¼ã«ããªã©ã®åæååï¼æ¢å®å¤ï¼ã®é¢æ°ã¯ããã¤ã³ãæ¸ã¿ã®èå¥åã®ååã name
ã¨ãã¦ç¶æ¿ãã¾ãã
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
ç縮ã¡ã½ãã
const o = {
foo() {},
};
o.foo.name; // "foo";
ãã¤ã³ãããã颿°
Function.bind()
ã颿°ã使ããæããã®åå㯠"bound " ã¨ãã®é¢æ°åãåããããã®ã¨ãªãã¾ãã
function foo() {}
foo.bind({}).name; // "bound foo"
ã²ãã¿ã¼ã¨ã»ãã¿ã¼ã®é¢æ°å
get
㨠set
ã使ãæã¯ã "get" ã "set" ã颿°åã«å«ã¾ãã¾ãã
const o = {
get foo() {},
set foo(x) {},
};
const descriptor = Object.getOwnPropertyDescriptor(o, "foo");
descriptor.get.name; // "get foo"
descriptor.set.name; // "set foo";
ã¯ã©ã¹ã§ã®é¢æ°å
obj.constructor.name
ã§ãªãã¸ã§ã¯ãã®ãã¯ã©ã¹ããç¥ããã¨ãã§ãã¾ã (ãã ããä¸è¨ã®è¦åã確èªãã¦ãã ãã)ã
class Foo {}
Foo.name; // "Foo"
è¦å: JavaScript ã¯ã颿°ã« name
ã¨ããããããã£ãåå¨ããªãå ´åã«ã®ã¿ã颿°ã® name
ããããã£ãè¨å®ãã¾ãããã ããã¯ã©ã¹ã®éçã¡ã³ãã¼ã¯ãã¯ã©ã¹ã³ã³ã¹ãã©ã¯ã¿ã¼é¢æ°ã®ããããã£ã¨ãã¦è¨å®ããããããçµã¿è¾¼ã¿ã® name
ãé©ç¨ãããã®ãé²ãã¾ããä¸è¨ã®ä¾ãåç
§ãã¦ãã ããã
ã·ã³ãã« (Symbol
) ã颿°åã¨ãã¦ä½¿ç¨ããã¦ããããã®ã·ã³ãã«ã«èª¬æãåå¨ããå ´åãã¡ã½ããã®ååã¯è§ã«ãã³ã§å²ã¾ãã説æã¨ãªãã¾ãã
const sym1 = Symbol("foo");
const sym2 = Symbol();
const o = {
[sym1]() {},
[sym2]() {},
};
o[sym1].name; // "[foo]"
o[sym2].name; // "[]"
ãã©ã¤ãã¼ããã£ã¼ã«ãã¨ã¡ã½ãã
ãã©ã¤ãã¼ããã£ã¼ã«ãã¨ãã©ã¤ãã¼ãã¡ã½ããã¯ãããã·ã¥è¨å· (#
) ãååã®ä¸é¨ã«å«ã¾ãã¾ãã
class Foo {
#field = () => {};
#method() {}
getNames() {
console.log(this.#field.name);
console.log(this.#method.name);
}
}
new Foo().getNames();
// "#field"
// "#method"
ä¾ ãªãã¸ã§ã¯ãã®ã³ã³ã¹ãã©ã¯ã¿ã¼åã示ã
ãªãã¸ã§ã¯ãã®ãã¯ã©ã¹ãã調ã¹ãã«ã¯ã obj.constructor.name
ã使ç¨ãããã¨ãã§ãã¾ãã
function Foo() {} // ã¾ã㯠class Foo {}
const fooInstance = new Foo();
console.log(fooInstance.constructor.name); // "Foo"
ããããéçã¡ã³ãã¼ã¯èªåèªèº«ã§ã¯ã©ã¹ã®ããããã£ã¨ãªããããéçã¡ã½ãããããã㣠name()
ãæã¤ã»ã¼ãã¹ã¦ã®ã¯ã©ã¹ã«ã¤ãã¦ãã¯ã©ã¹åãåå¾ãããã¨ã¯ã§ãã¾ããã
class Foo {
constructor() {}
static name() {}
}
static name()
ã¡ã½ãããåå¨ããå ´åã Foo.name
ã¯ã¯ã©ã¹åã§ã¯ãªãã name()
颿°ãªãã¸ã§ã¯ãã¸ã®åç
§ãæã¤ãã¨ã«ãªãã¾ãã fooInstance
ã®ã¯ã©ã¹ãåå¾ãããã¨ã㦠fooInstance.constructor.name
ã使ç¨ãã¦ããã¾ã£ããã¯ã©ã¹åã¯å¾ãããã代ããã«éçã¯ã©ã¹ã¡ã½ããã¸ã®åç
§ãè¿ããã¾ãã
const fooInstance = new Foo();
console.log(fooInstance.constructor.name); // Æ name() {}
éçãã£ã¼ã«ããåå¨ããããã name
ã颿°ã§ã¯ãªãå¯è½æ§ãããã¾ãã
class Foo {
static name = 123;
}
console.log(new Foo().constructor.name); // 123
ã¯ã©ã¹ã« name
ã¨ããéçããããã£ãããå ´åããæ¸ãè¾¼ã¿å¯è½ãã«ããªãã¾ãããã®ãããªç¬èªã®ææ³ãç¨ããªããã°ãæ¢å®ã§ã¯ãèªã¿åãå°ç¨ãã¨ãªãã¾ãã
Foo.name = "Hello";
console.log(Foo.name); // Foo ã«éç㪠"name" ãããå ´å㯠"Hello"ãããã§ãªããã° "Foo" ã¨è¡¨ç¤º
ãããã£ã¦ãçµã¿è¾¼ã¿ã® name
ããããã£ã«å¸¸ã«ã¯ã©ã¹ã®ååãæ ¼ç´ããã¦ãããã¨ã«é ¼ã£ã¦ããã¨ãæå¾
éãã«åä½ããªãå ´åãããã¾ãã
è¦å: name
ããããã£ã使ç¨ãã¦ããã¨ãã«ã JavaScript ã®å§ç¸®ï¼ãããã¡ã¤ï¼ãé£èªåã®ãããªå¤æãè¡ãéã«ã¯æ³¨æãå¿
è¦ã§ãããããã®ãã¼ã«ã¯ JavaScript ãã«ããã¤ãã©ã¤ã³ã®ä¸é¨ã¨ãã¦ãæ¬çªç°å¢ã«è¨ç½®ããåã«ããã°ã©ã ã®ãµã¤ãºã縮å°ããããã«ãã使ç¨ããã¾ãããããã®å¤æã¯ããã«ãæã«é¢æ°åã夿´ãããã¨ãããã¾ãã
次ã®ãããªã½ã¼ã¹ã³ã¼ãã¯ã
function Foo() {}
const foo = new Foo();
if (foo.constructor.name === "Foo") {
console.log("'foo' 㯠'Foo' ã®ã¤ã³ã¹ã¿ã³ã¹ã§ãã");
} else {
console.log("ããã£ã¨ï¼");
}
ãã®ããã«å§ç¸®ãããããããã¾ããã
function a() {}
const b = new a();
if (b.constructor.name === "Foo") {
console.log("'foo' 㯠'Foo' ã®ã¤ã³ã¹ã¿ã³ã¹ã§ãã");
} else {
console.log("ããã£ã¨ï¼");
}
éå§ç¸®çã§ã¯ãããã°ã©ã 㯠"'foo' 㯠'Foo' ã®ã¤ã³ã¹ã¿ã³ã¹ã§ãã" ã¨ãã°åºåããçå¤å´ã®åå²ãå®è¡ãã¾ãã䏿¹ãå§ç¸®çã§ã¯åä½ãç°ãªãã else å´ã®åå²ãå®è¡ãã¾ããä¾ãã°ä¸è¨ã®ããã«ã name
ããããã£ã«ä¾åãã¦ããå ´åã¯ããã«ããã¤ãã©ã¤ã³ã§é¢æ°åã夿´ãããªãããã«ãããã颿°ã«å
·ä½çãªååãããã¨ã¯ä»®å®ããªãããã«ãã¦ãã ããã
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4