📜  JavaScript对象getOwnPropertyNames()

📅  最后修改于: 2020-09-27 06:48:08             🧑  作者: Mango

JavaScript Object.getOwnPropertyNames()方法返回在给定对象中找到的所有属性的数组。

getOwnPropertyNames()方法的语法为:

Object.getOwnPropertyNames(obj)

使用Object类名称调用作为静态方法的getOwnPropertyNames()方法。


getOwnPropertyNames()参数

getOwnPropertyNames()方法采用:

  • obj-要返回其可枚举和不可枚举属性的对象。

从getOwnPropertyNames()返回值
  • 返回与直接在给定对象中找到的属性相对应的字符串数组。

注意: Object.getOwnPropertyNames()返回对象的所有自身属性,而Object.keys()返回所有可枚举的自身属性。


示例:使用getOwnPropertyNames()
// array object
let arr = ["a", "b", "c"];
console.log(Object.getOwnPropertyNames(arr)); // [ '0', '1', '2', 'length' ]

// array-like objects
let obj = { 65: "A", 66: "B", 67: "C" };
console.log(Object.getOwnPropertyNames(obj)); // [ '65', '66', '67' ]

// non-enumerable properties are also returned
let obj1 = Object.create(
  {},
  {
    getValue: {
      value: function () {
        return this.value;
      },
      enumerable: false,
    },
  }
);
obj1.value = 45;

console.log(Object.getOwnPropertyNames(obj1)); // [ 'getValue', 'value' ]

输出

[ '0', '1', '2', 'length' ]
[ '65', '66', '67' ]
[ 'getValue', 'value' ]

推荐阅读: Javascript Object.hasOwnProperty()