es6 name属性
函數(shù)的name屬性,返回該函數(shù)的函數(shù)名。
function foo () {}
foo.name // foo
這個(gè)屬性早就被瀏覽器廣泛支持,但是直到es6,才將其寫入了標(biāo)準(zhǔn)。
需要注意的是,es6對(duì)這個(gè)屬性的行為做出了一些修改。如果將一個(gè)匿名函數(shù)賦值給一個(gè)變量,es5的name屬性,會(huì)返回空字符串,而es6的name屬性會(huì)返回實(shí)際的函數(shù)名。
var f = function() {}
// es5
f.name // ""
// es6
f.name // "f"
上面代碼中,變量f等于一個(gè)匿名函數(shù),es5和es6的name屬性返回的值不一樣。
如果將一個(gè)具名函數(shù)賦值給一個(gè)變量,則es5和es6的name屬性都返回這個(gè)具名函數(shù)原本的名字。
const bar = function baz() {}
// es5
bar.name = 'baz'
// es6
bar.name = 'baz'
Function構(gòu)造函數(shù)返回的函數(shù)實(shí)例,name屬性的值為anonymous
(new Function).name // 'anonymous'
bind返回的函數(shù),name屬性值會(huì)加上bound前綴。
function foo() {}
foo.bind({}).name // "bound foo"
(function(){}).bind({}).name // "bound "
轉(zhuǎn)載于:https://www.cnblogs.com/mapsxy/p/10366766.html
總結(jié)
以上是生活随笔為你收集整理的es6 name属性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: @bzoj - 4384@ [POI20
- 下一篇: 开源的云平台