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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • asp判断session是否为空

    asp判断session是否为空1IfSession(“sesName”)=””Then…2IfSession(“sesName”)=EmptyThen…3IfIsEmpty(Session(“sesName”))Then…4IfCint(Session(“sesName”))=0Then… 来自:百度空间

    2022年7月15日
    17
  • ubuntu浏览器卡死机_QQ崩溃了怎么办

    ubuntu浏览器卡死机_QQ崩溃了怎么办问题:在Deepin应用商店更新最新的QQ版本后,出现崩溃,卡死现象解决:目录下~/.deepinwine,查找的应用Deepin-QQ路径/drive_c/windows/Fonts下查看是否有字体,笔者发现没有任何字体,把/usr/share/fonts/Fonts_Win下字体复制到这里,也可以在别的地方的fonts问价夹下,拷贝.ttf字体文件到这里,重新启动QQ,问题解决…

    2025年8月28日
    4
  • pycharm如何设置背景图片_电话背景图片怎么设置

    pycharm如何设置背景图片_电话背景图片怎么设置打开Pycharm点击左上角File如图:然后选择找到Settings点击进入,打开Appearance&Behavior,选择Appearance如图:最后找到BackgroundImage,选择好自己要设置的图片,Opacity可以调解好透明度,点击OK就可以了看效果:…

    2022年8月29日
    7
  • PyTorch碎片:PyToch和Torchvision对应版本「建议收藏」

    PyTorch碎片:PyToch和Torchvision对应版本「建议收藏」前言错误分析:安装pytorch或torchvision时,无法找到对应版本cuda可以找到,但是无法转为.cuda()以上两种或类似错误,一般由两个原因可供分析:cuda版本不合适,重新安装cuda和cudnnpytorch和torchvision版本没对应上pytorch和torchvision版本对应关系pytorchtorchvisionpythoncuda1.5.10.6.1>=3.69.2,10.1,10.21.5.0

    2022年6月24日
    56
  • java属于什么语言_java是什么语言 ?是什么系统?

    java属于什么语言_java是什么语言 ?是什么系统?一开始了解计算机这个专业,大家都会经常性听到Java这一词语,那么大家有真正的了解什么是Java吗?Java是属于什么语言呢?JAVA语言,其实是混合型的一种语言,Java语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C++语言的优点。下面来介绍一些Java的主要特征:1)Java语言是简单的。Java语言的语法与C语言和C++语言相似,这让很多程序员可…

    2022年7月8日
    21
  • 概要设计和详细设计说明书的区别

    概要设计和详细设计说明书的区别1.需求分析–产生软件功能规格说明书,需要确定用户对软件的需求,要作到明确、无歧义。不涉及具体实现方法。用户能看得明白,开发人员也可据此进行下面的工作(概要设计)。     2.概要设计–产生软件概要设计说明书,说明系统模块划分、选择的技术路线等,整体说明软件的实现思路。并且需要指出关键技术难点等。       3.详细设计–产生软件详细设计说明书,对概要设计的进一步细化,一般由各部

    2022年6月9日
    34

发表回复

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

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