美文网首页
JS对象属性遍历工具对比

JS对象属性遍历工具对比

作者: 多米帕帕 | 来源:发表于2019-12-13 16:45 被阅读0次
const proto = {
    p1 : "a"
}

const subObj = Object.create(proto);
subObj.sp1 = "b";

const sp2 = Symbol.for("c");
subObj[sp2] = "c";

Object.defineProperty(subObj,"sp3",{
    enumerable:false,
    value:"d"
})

subObj[Symbol.iterator] = function* () {
  yield 1;
  yield 2;
  yield 3;
};

console.log(Object.keys(subObj));
console.log("--------------")
for(const keys in subObj){
    console.log(keys);
}
console.log("--------------")
for(const keys of subObj){
    console.log(keys);
}
console.log("--------------")
console.log(Object.getOwnPropertyNames(subObj));
console.log("--------------")
console.log(Object.getOwnPropertySymbols(subObj));

输出结果:

["sp1"]
--------------
sp1
p1
--------------
1
2
3
--------------
 ["sp1", "sp3"]
--------------
[Symbol(c), Symbol(Symbol.iterator)]

分析如下:

Object.keys

返回对象可枚举自身的属性。

for in

返回对象可枚举自身以及原型上的属性。

for of

只能用于可迭代对象,调用迭代钩子上的属性。

getOwnPropertyNames

返回对象自身所有属性,包括不可枚举属性。

getOwnPropertySymbols

返回对象自身Symbol属性。

相关文章

  • JS对象属性遍历工具对比

    输出结果: 分析如下: Object.keys 返回对象可枚举的自身的属性。 for in 返回对象可枚举的自身以...

  • JS常用方法整理-遍历对象

    1. 简介 JS中经常需要对对象的属性进行遍历,下面我们来总结一下JS遍历对象属性的几种方法。 2. for......

  • JS Tips

    遍历对象的所有属性 添加属性 给普通的 JS 对象添加属性: 但是对于 Mongodb 中的对象,不可直接添加属性...

  • 2018-07-25 学习总结

    1.js对象 造器函数内部定义对象的方法 循环遍历对象属性(for ....in 循环遍历键) 2.indexOf...

  • javascript对象的属性介绍

    本篇主要介绍JS中对象的属性,包括:属性的分类、访问方式、检测属性、遍历属性以及属性特性等内容。 属性:对象的成员...

  • Vue响应式原理

    在js对象传给data时,Vue将遍历这个对象中的属性,并用Object.defineProperty()将属性转...

  • 79-对象遍历

    什么是对象的遍历对象的遍历就是依次取出对象中所有的属性和方法 如何遍历一个对象?在JS中可以通过高级for循环来遍...

  • JS/jQuery 遍历对象属性

    each()方法能使DOM循环结构简洁,不容易出错。each()函数封装了十分强大的遍历功能,使用也很方便,它可以...

  • JS - 面向对象 - 属性遍历

    对象属性分类 对于属性遍历而言,可以将对象属性分为是否可枚举、是否为继承 两种 在 ary 数组中,可枚举属性是对...

  • 循环遍历数组 对象的方法

    entries() 遍历键值对 keys() 遍历键名 values() 遍历键值 对象------遍历对象(属性...

网友评论

      本文标题:JS对象属性遍历工具对比

      本文链接:https://www.haomeiwen.com/subject/sgwfnctx.html