js对象中什么是可枚举性(enumerable)?[通俗易懂]

js对象中什么是可枚举性(enumerable)?[通俗易懂]概念可枚举性(enumerable)用来控制所描述的属性,是否将被包括在for…in循环之中。具体来说,如果一个属性的enumerable为false,下面三个操作不会取到该属性。*for..in循环*Object.keys方法*JSON.stringify方法varo={a:1,b:2};o.c=3;Object.definePropert

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

概念

可枚举性(enumerable)用来控制所描述的属性,是否将被包括在for…in循环之中。具体来说,如果一个属性的enumerable为false,下面三个操作不会取到该属性。
* for..in循环
* Object.keys方法
* JSON.stringify方法

var o = {a:1, b:2};o.c = 3;Object.defineProperty(o, 'd', {  value: 4,  enumerable: false});o.d// 4for( var key in o ) console.log( o[key] ); // 1// 2// 3Object.keys(o)  // ["a", "b", "c"]JSON.stringify(o // => "{a:1,b:2,c:3}"var ab = Object.getOwnPropertyNames(o);          console.log(ab)            // (4) ["a", "b", "c", "d"]            // 0            // :            // "a"            // 1            // :            // "b"            // 2            // :            // "c"            // 3            // :            // "d"            // length            // :            // 4            // __proto__            // :            // Array(0)上面代码中,d属性的enumerable为false,所以一般的遍历操作都无法获取该属性,使得它有点像“秘密”属性,但还是可以直接获取它的值。至于for...in循环和Object.keys方法的区别,在于前者包括对象继承自原型对象的属性,而后者只包括对象本身的属性。如果需要获取对象自身的所有属性,不管enumerable的值,可以使用Object.getOwnPropertyNames方法

Jetbrains全家桶1年46,售后保障稳定


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222919.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 修改Matlab的背景颜色

    修改Matlab的背景颜色网上的教程基本是修改prf文件或者输入一串命令其实使用界面操作就可以改变背景颜色步骤点击主页—>预设(预设在布局右边)点击颜色,出现以下界面。在这里,默认是勾选“使用系统颜色”的。我们把这一项取消勾选!取消勾选以后,“文本”和“背景”就变成可点击的状态,点击“背景”—>“更多颜色”在RGB这一栏输入护眼色的参数,R:199,G:237,B:2…

    2022年6月20日
    109
  • 数据结构完全二叉树性质

    数据结构完全二叉树性质完全二叉树若二叉树左子树高度-右子树高度小于等于1且大于等于0则称该二叉树为完全二叉树。二叉树一般性质:性质1:二叉树第i层上的结点数目最多为2i−1(i≥1)2^{i-1}(i\geq1)2i−1(i≥1)性质2:深度为k的二叉树至多有2k−1(k≥1)2^{k-1}(k\geq1)2k−1(k≥1)个结点性质3:包含n个结点的二叉树的高度至少为log⁡2n+1\log_2n+1log2​n+1性质4:在任意一棵二叉树中,若叶子结点的个数为n0n_0n0​,度为2的结点数为n2n_2n

    2022年5月31日
    57
  • docker离线安装mysql镜像_minio docker

    docker离线安装mysql镜像_minio dockerDocker离线(升级)安装MINIO1.查看版本登录minio网页,右上角点击About2.本地安装登录一台有网而且安装了Docker的Linux#拉取镜像dockerpullminio/minio#在当前目录生成镜像的tar包dockersave-ominio.tarminio/minio3.把包上传到服务器方式一(命令行):#scp方式上传scp[filename][user]@[ip]远程传输文件scp-r./*root@8.134.50.

    2022年9月26日
    2
  • Python机器学习-分类「建议收藏」

    Python机器学习-分类「建议收藏」监督学习下的分类模型,主要运用sklearn实践kNN分类器kNN分类器决策树决策树朴素贝叶斯朴素贝叶斯实战一:预测股市涨跌实战一:预测股市涨跌实战二:通过运动传感器采集的数据分析运

    2022年7月5日
    23
  • jenkins allure_allure的用法

    jenkins allure_allure的用法前言jenkins集成了allure插件,安装插件后运行pytest+allure的脚本即可在jenkins上查看allure报告了。allure安装在运行代码的服务器本机,我这里是用的dock

    2022年7月29日
    19
  • 微博账号注册_不用手机号注册微博小号

    微博账号注册_不用手机号注册微博小号新浪微博开放平台:https://open.weibo.com/1.注册账号注册新浪微博账号进入首页。创建网站接入的应用:https://open.weibo.com/选择立即接入,进入到创建

    2022年8月5日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号