ES6+ Object.keys()
1. 前言
我们知道迭代对象可以使用 for...in 循环来做,但 for...in 循环会枚举其原型链上的 属性 ,这使得我们在遍历时需要判断是不是原型链 属性 。 Object.keys() 可以接受 一个 对象返回 一个 可枚举的数组,数组中的元素的排列顺序和使用 for...in 循环遍历返回的顺序是一致的。
Object.keys() 在 ES5 中就有此 方法 ,但是在设计上存在一定的缺陷,ES6 对其底层做了重大的更新。比如:在 ES5 中,如果此 方法 的参数不是对象(而是 一个 原始值),那么它会抛出 TypeError。在 ES2015 中,非对象的参数将被强制转换为 一个 对象。
// ES5 代码 Object . keys ( "imooc" ) ; // TypeError: "imooc" is not an object // ES6 代码 Object . keys ( "imooc" ) ; // ["0", "1", "2", "3", "4"]
现在的浏览器已经基本都 支持 ES6 的结果了,下面我们来系统性地认识一下 Object.keys() 。
2. 方法 详情
2.1 基本语法
Object.keys() 方法 会返回 一个 由 一个 给定对象的自身可枚举 属性 组成的数组,数组中 属性 名的排列顺序和正常循环遍历该对象时返回的顺序一致 。
语法使用:
Object . keys ( obj )
参数解释:
参数 描述 obj 要返回其枚举自身 属性 的对象。
查看更多关于ES6+ Object.keys()的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did91790