Object.keys() 和 Object.getOwnPropertyNames() 的區(qū)別詳解
大部分情況下Object.getOwnPropertyNames()與Object.keys(obj)的功能是一樣的,我們一般也是用來(lái)獲取一個(gè)JSON對(duì)象中所有屬性,例如
const obj = { property1: 1, property2: 2, }; console.log(Object.keys(obj)); console.log(Object.getOwnPropertyNames(obj));
輸出:
> Array ["property1", "property2"]
> Array ["property1", "property2"]
Object.keys() 方法會(huì)返回一個(gè)由一個(gè)給定對(duì)象的自身可枚舉屬性組成的數(shù)組,數(shù)組中屬性名的排列順序和正常循環(huán)遍歷該對(duì)象時(shí)返回的順序一致 。
Object.getOwnPropertyNames()方法返回一個(gè)由指定對(duì)象的所有自身屬性的屬性名(包括不可枚舉屬性但不包括Symbol值作為名稱的屬性)組成的數(shù)組。
共同點(diǎn):都是返回自身的屬性,不會(huì)返回原型鏈上的。
區(qū)別: Object.keys()返回可枚舉的,Object.getOwnPropertyNames()返回所有的。
Person = function(name){ this.name = name || '' } Person.prototype.sayHello = function(){ console.log('hello') } p = new Person('yangyang') p.age = 18 Object.defineProperties(p, { age:{ enumerable:false } }) console.log(Object.keys(p)) // ["name"] console.log(Object.getOwnPropertyNames(p)) // ["name", "age"]
參考資料:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames
到此這篇關(guān)于Object.keys() 和 Object.getOwnPropertyNames() 的區(qū)別詳解的文章就介紹到這了,更多相關(guān)Object.keys()和Object.getOwnPropertyNames()內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript加強(qiáng)之自定義event事件
event事件在本文以自定義的方式出現(xiàn),感興趣的朋友可以參考下,希望對(duì)大家有所幫助2013-09-09隨鼠標(biāo)移動(dòng)的時(shí)鐘非常漂亮遺憾的是只支持IE
這篇文章主要介紹了隨鼠標(biāo)移動(dòng)的時(shí)鐘非常漂亮遺憾的是只支持IE,需要的朋友可以參考下2014-08-08List the Codec Files on a Computer
List the Codec Files on a Computer...2007-06-06原生JavaScript實(shí)現(xiàn)瀑布流布局
這篇文章主要介紹了原生JavaScript實(shí)現(xiàn)瀑布流布局的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-12-12javascript實(shí)現(xiàn)全局匹配并替換的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)全局匹配并替換的方法的總結(jié),十分的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。2015-04-04js實(shí)現(xiàn)省市級(jí)聯(lián)效果分享
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)省市級(jí)聯(lián)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08在JavaScript中查找字符串中最長(zhǎng)單詞的三種方法(推薦)
這篇文章主要介紹了在JavaScript中查找字符串中最長(zhǎng)單詞的三種方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01