ES6 函式的擴充套件 name屬性

2021-08-10 13:08:05 字數 849 閱讀 4700

函式 name 的屬性,返回該函式的函式名。

function foo() {}

foo.name // "foo"

這個屬性以前就支援,只是 es6 對這個屬性的行為做了一些修改。如果將乙個匿名函式賦值給乙個變數,es5 的 name 屬性,會返回空字串,而 es6 的 name 屬性會返回實際的函式名。

var f = function () {};

// es5

f.name // ""

// es6

f.name // "f"

上面**中,變數 f 等於乙個匿名函式,es5 和 es6 的 name 屬性的返回值不一樣。

如果將乙個具名函式賦值給乙個變數,則 es5 和 es6 的 name 屬性都返回這個具名函式原本的名字。

const bar = function baz() {};

// es5

bar.name // "baz"

// es6

bar.name // "baz"

function 建構函式返回的函式例項,name 屬性的值為 anonymous。

(new function).name // "anonymous"
bind 返回的函式,name 屬性值會加上 bound 字首。

function foo() {};

foo.bind({}).name // "bound foo"

(function(){}).bind({}).name // "bound "

ES6基礎之 函式的名字name屬性

1 es6給函式新增了乙個name屬性,使用這個屬性,我們可以得到這個函式的名字,例子 如下用函式宣告的方式建立了乙個函式,然後輸出函式的name屬性,得到的是函式的名字 function breakfast argument console.log breakfast.name breakfast...

ES6 函式擴充套件

函式在js裡是相當重要的一部分了,es6裡也新增了一些函式方法,來看一下 test hello hello world test hello kill hello kill es6增加了函式引數預設值,可以直接在宣告引數的同時賦預設值,但是也可以後面重新賦值 test2 kill 括號內有引數x時,...

ES6函式擴充套件

函式引數的預設值 在es5中,我們想給函式乙個預設值,需要這樣寫 function add x,y 在es6中 可以這樣寫 function add x,y ss add dd ddss add ss dd ssdd add dd dd我們只需要在引數上直接寫上我們想要的預設值就好了。當我們給函式乙...