网站首页 > 技术文章 正文
JavaScript 属性可枚举性
在大多数情况下,对象属性默认是可枚举的,除非它们是 Symbols。这意味着您可以使用 for...in 循环来迭代对象的属性。同样,可枚举属性出现在枚举对象属性的对象方法中。这方面的一个例子是 Object.keys() 方法,它将忽略不可枚举的属性。最后,当使用对象展开运算符 (...) 时,只有可枚举的属性会被复制到新对象中。
JavaScript
const person = { name: 'John', surname: 'Doe', age: 30, socialSecurityNumber: '123-45-6789',};
Object.defineProperty(person, 'socialSecurityNumber', { enumerable: false,});
person.hasOwnProperty('socialSecurityNumber'); // trueperson.propertyIsEnumerable('socialSecurityNumber'); // false
Object.keys(person); // ['name', 'surname', 'age']Object.getOwnPropertyNames(person);// ['name', 'surname', 'age', 'socialSecurityNumber']
const clone = { ...person };clone.socialSecurityNumber; // undefined要创建不可枚举的属性,您可以将 Object.defineProperty() 与适当的描述符一起使用。您可以使用 Object.prototype.hasOwnProperty() 检查属性是否存在,使用 Object.prototype.propertyIsEnumerable() 检查其可枚举性。此外,与 Symbols 不同,使用 Object.getOwnPropertyNames() 时会显示不可枚举的属性。
更多内容请访问我的网站:https://www.icoderoad.com
猜你喜欢
- 2024-10-04 Vue选项:computed计算属性(vue3.0 计算属性)
- 2024-10-04 Vue 中的计算属性(vue中的计算属性)
- 2024-10-04 Js基础7:表单元素属性(js中表单)
- 2024-10-04 Jquery属性——学习笔记(一)(如何使用jquery设置一个属性值)
- 2024-10-04 前端入门——在网页中使用JavaScript
- 2024-10-04 前端-JavaScript中的class(javascript class)
- 2024-10-04 如何获取JavaScript中某个函数可接受的参数数量
- 2024-10-04 关于js设置对象attr属性的问题(js对象属性值)
- 2024-10-04 react三大核心属性(react的核心)
- 2024-10-04 JS 对象基本用法(js对象的操作方法)
- 11-23微信如何群发消息给所有人(微信如何群发消息给所有人全选)
- 11-23腾达路由器手机登录(腾达路由器官网页登录)
- 11-23防火墙关闭对电脑有影响吗(防火墙关闭有什么影响)
- 11-23联想笔记本电脑官网查询真伪入口
- 11-23申请恢复qq群(申请恢复qq群聊怎么恢复)
- 11-23苹果查询激活日期和保修期限
- 11-23u盘提示格式化但无法格式化(u盘提示格式化却无法格式化)
- 11-22pe启动盘怎么装系统(pe启动盘如何重装系统win10)
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (77)
- vector线程安全吗 (73)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)
