--- title: Function.name slug: Web/JavaScript/Reference/Global_Objects/Function/name translation_of: Web/JavaScript/Reference/Global_Objects/Function/name ---
{{JSRef}}

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

{{js_property_attributes(0,0,1)}}
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 {{jsxref("Operators/Function", "function expression", "", 1)}}:

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 {{jsxref("Object.defineProperty()")}}.

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
{{SpecName('ES2015', '#sec-name', 'name')}} {{Spec2('ES2015')}} Definició inicial.

Comptabilitat amb navegadors

{{CompatibilityTable}}
Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suport bàsic 33 {{CompatVersionUnknown}} {{CompatNo}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}
Configurable: true 43 {{CompatGeckoDesktop(38)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Característica Android Chrome per Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suport bàsic {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatNo}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}
Configurable: true {{CompatUnknown}} {{CompatUnknown}} {{CompatGeckoMobile(38)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}