欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Object.keys() 和 Object.getOwnPropertyNames() 的區(qū)別詳解

 更新時(shí)間:2020年05月21日 14:07:55   作者:周羊羊  
這篇文章主要介紹了Object.keys() 和 Object.getOwnPropertyNames() 的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

大部分情況下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)文章

最新評(píng)論