Function.name

La propietat function.name retorna el nom de la funci贸.

Property attributes of Function.name
Writable no
Enumerable no
Configurable yes
Vegeu que en les implementacions no est脿ndards anteriors a ES2015 l'atribut configurable tamb茅 era false.

Descripci贸

La propietat name retorna el nom de la funci贸, o una cadena buida per les funcions an貌nimes.

function fesAlgo() {}

console.log(desAlgo.name); // escriu "fesAlgo"

Les funcions creades amb la sintaxis new Function(...) o sols Function(...)tenen la seva propietat name en una cadena buida. En els exemples seg眉ents es creen funcions an貌nimes , de forma que name retorna una cadena buida:

var f = function() {};
var object = {
  someMethod: function() {}
};

console.log(f.name == ''); // true
console.log(object.someMethod.name == ''); // tamb茅 true

Es pot definir una funci贸 amb un nom en un function expression:

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 no est脿 definit

No es pot canviar el nom de la funci贸, aquesta propietat 茅s nom茅s llegible:

var object = {
  // an貌nima
  someMethod: function() {}
};

object.someMethod.name = 'someMethod';
console.log(object.someMethod.name); // cadena buida, someMethod 茅s an貌nima.

Per canviar-ho, es pot utilitzar Object.defineProperty() (en-US).

Exemples

Es pot utilitzar obj.constructor.name per comprovar la "classe" d'un objecte:

function a() {}

var b = new a();

console.log(b.constructor.name); // escriu "a"

Especificacions

Especificaci贸 Estat Comentaris
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'name' in that specification.
Standard Definici贸 inicial.

Comptabilitat amb navegadors

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help! (en-US)
Caracter铆stica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suport b脿sic 33 (Yes) No support (Yes) (Yes)
Configurable: true 43 38 (38) ? ? ?
Caracter铆stica Android Chrome per Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suport b脿sic (Yes) (Yes) (Yes) No support (Yes) (Yes)
Configurable: true ? ? 38.0 (38) ? ? ?