Object.keys与for in,Object.getOwnPropertyNames的区别

简介: for/in:是ES3中的方法,用来遍历对象(集合)的方法;不过,for/in 会输出自身以及原型链上可枚举的属性,可以使用 hasOwnProperty 来过滤原型链上的属性Object.

for/in:

是ES3中的方法,用来遍历对象(集合)的方法;

不过,for/in 会输出自身以及原型链上可枚举的属性,可以使用 hasOwnProperty 来过滤原型链上的属性

Object.keys():

是ES5中方法,用来获取对象自身可枚举的属性键

原型中属性和设置了不可枚举的属性,都获取不到

效果类似 for in+hasOwnProperty

Object.getOwnPropertyNames()

是ES5中方法,用来获取对象自身的全部属性名

不论自身对象是否设置了可枚举,都可以获取到

相关文章
|
2月前
|
前端开发 Java 编译器
【前端学java】java中的Object类和前端中的Object有什么区别(9)
【8月更文挑战第10天】java中的Object类和前端中的Object有什么区别
33 0
【前端学java】java中的Object类和前端中的Object有什么区别(9)
|
2月前
|
JavaScript 前端开发
Object.freeze() 和 const 的区别详解
【8月更文挑战第31天】
26 0
|
3月前
|
JSON JavaScript API
JS【详解】Map (含Map 和 Object 的区别,Map 的常用 API,Map与Object 的性能对比,Map 的应用场景和不适合的使用场景)
JS【详解】Map (含Map 和 Object 的区别,Map 的常用 API,Map与Object 的性能对比,Map 的应用场景和不适合的使用场景)
45 0
|
5月前
|
JavaScript 前端开发 索引
JavaScript与Object C的区别
JavaScript与Object C的区别
27 1
|
4月前
|
存储 JavaScript 前端开发
Object和Map的区别
Object和Map的区别
|
5月前
|
安全 Java 编译器
【JAVA】泛型和Object的区别
【JAVA】泛型和Object的区别
|
5月前
Object.prototype.toString.call() 和 instanceOf 和 Array.isArray() 区别以及优缺点
Object.prototype.toString.call() 和 instanceOf 和 Array.isArray() 区别以及优缺点
38 0
|
5月前
|
JavaScript 前端开发
JavaScript中Object.prototype.toString.call()、instanceOf和Array.isArray()的区别
JavaScript中Object.prototype.toString.call()、instanceOf和Array.isArray()的区别
69 1
|
5月前
|
存储 JavaScript
JS中Map对象与object的区别
JS中Map对象与object的区别
|
5月前
Object.prototype.toString.call() 和 instanceOf 和 Array.isArray() 区别以及优缺点
Object.prototype.toString.call() 和 instanceOf 和 Array.isArray() 区别以及优缺点
下一篇
无影云桌面