iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >如何选择Reflect.ownKeys() 和 Object.keys()
  • 640
分享到

如何选择Reflect.ownKeys() 和 Object.keys()

2024-04-02 19:04:59 640人浏览 薄情痞子
摘要

这篇文章主要讲解了“如何选择Reflect.ownKeys() 和 Object.keys() ”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何选择Ref

这篇文章主要讲解了“如何选择Reflect.ownKeys() 和 Object.keys() ”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何选择Reflect.ownKeys() 和 Object.keys() ”吧!

思考一个问题:如何遍历 javascript 中 Object 的 Keys ,碰到了  Reflect.ownKeys(obj)和 Object.keys(obj) 这两个方法,他俩究竟有什么不同?

我们先看一个例子:

const obj = {a: 5, b: 5}; console.log(Reflect.ownKeys(obj)); console.log(Object.keys(obj));  // Result // ['a', 'b'] // ['a', 'b']

貌似也没什么不一样,去翻两个方法的文档得知:

Object.keys(obj) 返回结果是:一个由给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致  。

而 Reflect.ownKeys(obj)的返回结果 等价于:

Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target))

Object.getOwnPropertyNames()  方法返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组。

Object.getOwnPropertySymbols() 方法返回一个给定对象自身的所有 Symbol 属性的数组。

Reflect.ownKeys(obj) 等于把 给定的对象所有属性以数组的方式返回。

我们通过下面代码来看两者差别:

var testObject = {[Symbol('1')]: 1, a: 2}; Object.defineProperty(testObject, 'myMethod', {     value: function () {         alert("Non enumerable property");     },     enumerable: false }); console.log(Object.keys(testObject)); // ['a'] console.log(Reflect.ownKeys(testObject)); // [ 'a', 'myMethod', Symbol(1) ]

总结

Object.keys(obj) : 结果是object 上所有可枚举的key;

Reflect.ownKeys(obj) : 结果是所有的 key。

感谢各位的阅读,以上就是“如何选择Reflect.ownKeys() 和 Object.keys() ”的内容了,经过本文的学习后,相信大家对如何选择Reflect.ownKeys() 和 Object.keys() 这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 如何选择Reflect.ownKeys() 和 Object.keys()

本文链接: https://www.lsjlt.com/news/83460.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何选择Reflect.ownKeys() 和 Object.keys()
    这篇文章主要讲解了“如何选择Reflect.ownKeys() 和 Object.keys() ”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何选择Ref...
    99+
    2024-04-02
  • Ubuntu和Fedora如何选择
    这篇文章给大家分享的是有关Ubuntu和Fedora如何选择的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Ubuntu 和 Fedora 都是最流行的 Linux 发行版之一,在两者之间做出选择实非易事。在这篇文...
    99+
    2023-06-16
  • NAS和服务器如何选择
    当选择NAS(网络附加存储)和服务器时,有几个关键因素需要考虑: 存储需求:NAS适用于小型至中型存储需求,适合小型企业或家庭用...
    99+
    2024-04-29
    服务器
  • JavaScript如何使用Object.keys函数
    这篇文章给大家分享的是有关JavaScript如何使用Object.keys函数的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Object.keys:返回一个由一个给定对象的自身可枚举属性组成的数组Object....
    99+
    2023-06-03
  • Python和Java该如何选择?选哪个好?
      编程是很多人都想要掌握的技术,但是在行业之中编程语言有很多种,每个人的爱好,想要从事领域不同,自然选择也是不同,比较常见的编程语言就是Python和Java,那么对于这两种语言选择哪个好  在这里为大家介绍一下,其实Python和Jav...
    99+
    2023-06-02
  • JavaScript如何使用Object.keys()判空
    这篇文章主要介绍了JavaScript如何使用Object.keys()判空,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Object.ke...
    99+
    2024-04-02
  • 技术选型:如何选择REST、GraphQL 和 gRPC
    REST、GraphQL 和 gRPC 是现代 Web 应用程序中最流行的 3 种 API 开发技术。那么在做技术选型时,三者要如何选择呢?在本文中,我们将一起对比 REST、GraphQL 和 gRPC 的特性和用法。REST——最流行的...
    99+
    2023-05-14
    开发 API Web 应用程序
  • MySQL 中如何将 ROW 选择和 COLUMN 选择结合起来?
    为了将行选择与列选择结合起来,我们可以使用“WHERE”子句。例如,我们有下面的表格 -mysql> Select * from Student; +--------+--------+--------+ | Nam...
    99+
    2023-10-22
  • css类和id选择器如何用
    这篇“css类和id选择器如何用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“css类和i...
    99+
    2024-04-02
  • 如何理解CSS中的类型选择器和ID选择器以及class选择器
    这期内容当中小编将会给大家带来有关如何理解CSS中的类型选择器和ID选择器以及类选择器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。类型选择器类型选择器,是以html元素...
    99+
    2024-04-02
  • css中串联选择器和后代选择器如何使用
    今天就跟大家聊聊有关css中串联选择器和后代选择器如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 串联选择器:...
    99+
    2024-04-02
  • 如何选择vps
    选择VPS时,可以考虑以下几个方面:1. 价格和性价比:根据预算和需求,选择适合的价格范围,并比较不同供应商的服务和功能。2. 硬件...
    99+
    2023-08-11
    vps
  • 高防CDN和高防IP如何选择
    在选择高防CDN和高防IP时,需要根据自己的需求和实际情况来进行选择。 高防CDN: 适用于需要加速网站访问速度、提高用户体验...
    99+
    2024-05-10
    高防CDN 高防IP
  • 网站和APP如何选择云主机
    网站和APP如何选择云主机,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在网站、APP架设前期,个人或企业常常会陷入不知道怎么选择云主机的困惑中,这可以根据企业...
    99+
    2023-06-07
  • 如何使用Div和CSS编写中的包含选择器和通配选择器
    这篇文章将为大家详细讲解有关如何使用Div和CSS编写中的包含选择器和通配选择器,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。包含选择器包含选择器也叫派生选...
    99+
    2024-04-02
  • Java和Unix:如何选择最佳框架和索引?
    Java和Unix是目前IT领域中最为流行的两个技术。Java是一种面向对象的编程语言,而Unix则是一种操作系统。在实际开发中,Java常常会与Unix一同使用,为开发者们提供更加高效的开发环境。然而,在使用Java和Unix进行开发时...
    99+
    2023-06-16
    unix 框架 索引
  • synchronized 和 Lock 的异同点(如何让选择)
    目录相同点不同点如何选择前言: 我们主要学习 synchronized 和 Lock 的异同点,以及该如何选择。 相同点 synchronized 和 Lock 的相同点非常多,我们...
    99+
    2024-04-02
  • 如何在HTML5中引入css和选择器
    今天就跟大家聊聊有关如何在HTML5中引入css和选择器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。什么是csscss是一种用来表现HTML或XML等文件样式的计算机语言,主要是用...
    99+
    2023-06-05
  • 云服务器如何选择内存和CPU
    云服务器如何选择内存和CPU?云服务器是一种基于云计算技术的虚拟化服务器,具有灵活性、可扩展性和高可用性等特点,已成为许多企业和个人选择的解决方案。在选择云服务器时,内存和CPU的配置是非常重要的因素,它们直接影响系统的性能和可靠性。本文...
    99+
    2024-01-23
    云服务器CPU 云服务器内存 云服务器如何选择内存和CPU 云服务器知识
  • 数据库如何选择
    这篇文章给大家分享的是有关数据库如何选择的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。数据库是模块化的系统,由多个部分组成:接受请求的传输层、决定以最高效方式运行查询的查询处理器...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作