ES7 中使用 Object.getOwnPropertyNames() 获取对象属性名的方法
在前端开发中,我们经常需要获取对象的属性名,以便进行相应的操作。而在 ES7 中,我们可以使用 Object.getOwnPropertyNames() 方法来获取对象的属性名。
Object.getOwnPropertyNames() 方法返回一个数组,其中包含了指定对象的所有属性(包括非可枚举属性),但不包括其原型链上的属性。
语法:
Object.getOwnPropertyNames(obj)
其中,obj 为要获取属性名的对象。
下面是一个示例代码:
----- --- - - ----- ------ ---- -- - ----- ------------- - -------------------------------- --------------------------- -- -------- ------
在上面的代码中,我们定义了一个对象 obj,然后使用 Object.getOwnPropertyNames() 方法获取了该对象的属性名,并将结果保存在 propertyNames 变量中。最后,我们将结果打印到控制台中。
除了获取对象的属性名外,Object.getOwnPropertyNames() 方法还可以用于检查对象是否具有某个属性,例如:
----- --- - - ----- ------ ---- -- - ----- ------- - ------------------------------------------------- --------------------- -- ----
在上面的代码中,我们使用 Object.getOwnPropertyNames() 方法检查了对象 obj 是否具有属性名为 name 的属性,并将结果保存在 hasName 变量中。最后,我们将结果打印到控制台中。
需要注意的是,Object.getOwnPropertyNames() 方法只能获取对象自身的属性名,而不能获取其原型链上的属性名。如果需要获取原型链上的属性名,可以使用 Object.keys() 方法或 for...in 循环。
总结:
ES7 中使用 Object.getOwnPropertyNames() 方法可以方便地获取对象的属性名,从而进行相应的操作。同时,它还可以用于检查对象是否具有某个属性。但需要注意的是,它只能获取对象自身的属性名,不能获取其原型链上的属性名。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65f2b5162b3ccec22fb4b99f