获取 JavaScript 对象的键名

JavaScript 对象是一种非常常见的数据结构,在前端开发中尤为重要。在许多场景下,我们需要对对象进行遍历或其它操作,因此获取对象的键名(也就是属性名)是必不可少的。

使用 Object.keys() 方法

Object.keys() 方法可以获取一个对象所有自身可枚举属性的键名,并返回一个数组。下面是该方法的语法:

----------------

其中 obj 是目标对象。

下面是一个例子:

----- --- - - -- -- -- -- -- - --
----- ---- - -----------------
------------------ -- ----- ---- ----

该示例中,我们定义了一个对象 obj,包含三个属性。然后使用 Object.keys() 方法获取了该对象的所有属性名,存入变量 keys 中,最终输出该数组。

需要注意的是,Object.keys() 方法只会获取对象自身的可枚举属性,而不会获取其原型链上的属性。如果需要获取原型链上的属性,可以使用 Object.getOwnPropertyNames() 方法。

使用 for...in 循环

除了 Object.keys() 方法外,我们还可以使用 for...in 循环来获取对象的所有键名。for...in 循环会遍历对象的所有可枚举属性,包括对象自身和其原型链上的属性。

下面是一个例子:

----- --- - - -- -- -- -- -- - --
--- ------ --- -- ---- -
  -----------------
-
-- ------ --- ---

该示例中,我们使用 for...in 循环遍历了对象 obj 的所有可枚举属性,并依次输出每个属性的键名。

需要注意的是,for...in 循环除了会遍历对象自身的属性外,还会遍历其原型链上的属性。因此在使用 for...in 循环时,需要使用 hasOwnProperty() 方法来判断一个属性是否为对象自身的属性。具体用法如下:

--- ------ --- -- ---- -
  -- ------------------------- -
    -----------------
  -
-

小结

获取 JavaScript 对象的键名是前端开发中非常基础且重要的操作。在本文中,我们介绍了两种获取对象键名的方法,即 Object.keys() 方法和 for...in 循环。Object.keys() 方法只会获取对象自身的可枚举属性,而 for...in 循环会遍历对象的所有可枚举属性,包括对象自身和其原型链上的属性。在使用 for...in 循环时,需要注意判断一个属性是否为对象自身的属性。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/14958