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中方法,用来获取对象自身的全部属性名

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

相关文章
|
17天前
|
设计模式 JavaScript 前端开发
js中new和object.creat区别
【10月更文挑战第29天】`new` 关键字和 `Object.create()` 方法在创建对象的方式、原型链继承、属性初始化以及适用场景等方面都存在差异。在实际开发中,需要根据具体的需求和设计模式来选择合适的方法来创建对象。
|
3月前
|
前端开发 Java 编译器
【前端学java】java中的Object类和前端中的Object有什么区别(9)
【8月更文挑战第10天】java中的Object类和前端中的Object有什么区别
44 0
【前端学java】java中的Object类和前端中的Object有什么区别(9)
|
3月前
|
JavaScript 前端开发
Object.freeze() 和 const 的区别详解
【8月更文挑战第31天】
32 0
|
4月前
|
JSON JavaScript API
JS【详解】Map (含Map 和 Object 的区别,Map 的常用 API,Map与Object 的性能对比,Map 的应用场景和不适合的使用场景)
JS【详解】Map (含Map 和 Object 的区别,Map 的常用 API,Map与Object 的性能对比,Map 的应用场景和不适合的使用场景)
99 0
|
6月前
|
JavaScript 前端开发 索引
JavaScript与Object C的区别
JavaScript与Object C的区别
35 1
|
5月前
|
存储 JavaScript 前端开发
Object和Map的区别
Object和Map的区别
|
6月前
|
安全 Java 编译器
【JAVA】泛型和Object的区别
【JAVA】泛型和Object的区别
|
6月前
Object.prototype.toString.call() 和 instanceOf 和 Array.isArray() 区别以及优缺点
Object.prototype.toString.call() 和 instanceOf 和 Array.isArray() 区别以及优缺点
53 0
|
6月前
|
JavaScript 前端开发
JavaScript中Object.prototype.toString.call()、instanceOf和Array.isArray()的区别
JavaScript中Object.prototype.toString.call()、instanceOf和Array.isArray()的区别
79 1
|
6月前
|
存储 JavaScript
JS中Map对象与object的区别
JS中Map对象与object的区别

热门文章

最新文章