Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何从JavaScript对象中删除属性?

如何从JavaScript对象中删除属性?

作者头像
疯狂的技术宅
发布于 2021-03-31 16:27:50
发布于 2021-03-31 16:27:50
14K01
代码可运行
举报
文章被收录于专栏:京程一灯京程一灯
运行总次数:1
代码可运行

在使用 JavaScript 中的对象时,你可能会遇到需要从对象中完全删除属性的情况。为实现这一点可以有好几个选择:

将属性设置为 undefined

将属性设置为 undefined 不是最好的方法,因为属性本身仍将存在于对象中。它还会改变原始对象,这可能是你所不希望的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const pet = {
  species: 'dog',
  age: 3,
  name: 'celeste',
  gender: 'female'
};

pet.gender = undefined;
Object.keys(pet); // ['species', 'age', 'name', 'gender']

使用 delete 操作符

从技术上讲用 delete 操作符是从 JavaScript 对象中删除属性的正确方法。与上一个方法不同,delete 将完全从对象中删除属性,但它仍然会导致原始对象的发生改变。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const pet = {
  species: 'dog',
  age: 3,
  name: 'celeste',
  gender: 'female'
};

delete pet.gender;
Object.keys(pet); // ['species', 'age', 'name']

使用对象解构

通过用展开运算符(...)可以将需要省略特定属性的对象解构到新对象。这个技巧在需要删除多个属性时特别有用,并且不会更改原始对象。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const pet = {
  species: 'dog',
  age: 3,
  name: 'celeste',
  gender: 'female'
};

const { gender, ...newPet } = pet;
Object.keys(pet); // ['species', 'age', 'name', 'gender]
Object.keys(newPet); // ['species', 'age', 'name']
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端先锋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
有个开发者总结这 15 优雅的 JavaScript 个技巧
JavaScript 有很多很酷的特性,大多数初学者和中级开发人员都不知道。今天分享一些,我经常在项目中使用一些技巧。
前端小智@大迁世界
2022/06/15
7340
有个开发者总结这 15 优雅的 JavaScript 个技巧
JavaScript 开发人员需要知道的简写技巧
本文来源于多年的 JavaScript 编码技术经验,适合所有正在使用 JavaScript 编程的开发人员阅读。 本文的目的在于帮助大家更加熟练的运用 JavaScript 语言来进行开发工作。 文章将分成初级篇和高级篇两部分,分别进行介绍。 初级篇 1、三目运算符 下面是一个很好的例子,将一个完整的 if 语句,简写为一行代码。 const x = 20; let answer; if (x > 10) { answer = 'greater than 10'; } else { ans
葡萄城控件
2018/06/21
9110
前端入门10-JavaScript语法之对象声明正文-对象
作为一个前端小白,入门跟着这几个来源学习,感谢作者的分享,在其基础上,通过自己的理解,梳理出的知识点,或许有遗漏,或许有些理解是错误的,如有发现,欢迎指点下。
请叫我大苏
2018/12/24
8900
送你58道JavaScript面试题(上)
之前翻译过前阵子 github很火的 javascript-questions:送你43道JavaScript面试题
ConardLi
2019/08/21
7950
送你58道JavaScript面试题(上)
javascript 中的解构技巧
在实际项目开发中,检测一个对象中是否包含某个键值来避免引用不存在的元素,来避免undefined的引用错误,而因为js又是单线程这一特点,一旦报错将影响后续逻辑执行,所以进行引入的键和值是否存在显得尤为重要,以下是我整理的几种判断和解构方法
iwhao
2024/07/03
1450
JavaScript 高级程序设计(第 4 版)- 对象、类与面向对象编程
通过字面量来重写原型时,Person.prototype被设置为等于一个通过对象字面量创建的新对象,此时Person.prototype的constructor属性就不指向Person了
Cellinlab
2023/05/17
6590
JavaScript 高级程序设计(第 4 版)- 对象、类与面向对象编程
总结了38个ES6-ES12的开发技巧,看看你能拿几分?
作者:林三心不学挖掘机 原文链接:# 看了就会,手写Promise原理,最通俗易懂的版本!!! 作者微信:meron857287645
coder_koala
2021/08/26
5250
一样的代码、不一样的写法,JavaScript必知的简写技巧|附源代码
初级篇 1、三目运算符 下面是一个很好的例子,将一个完整的 if 语句,简写为一行代码。 const x = 20; let answer; if (x > 10) { answer = 'great
BestSDK
2018/03/02
1.6K0
20·灵魂前端工程师养成-JavaScript对象
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
1980
20·灵魂前端工程师养成-JavaScript对象
3 - JavaScript 中的数据类型
其次是掘金:https://juejin.cn/user/2225067264058798
前端黑板报
2022/04/19
4180
3 - JavaScript 中的数据类型
JavaScript String、Array、Object、Date 常用方法小结
  反正闲着也是闲着,稍微整理总结了一下 JavaScript 字符串、数组、对象、时间的常用方法,阿彪出品,必属精品/滑稽。
老猫-Leo
2023/12/11
2730
分享一些 JavaScript 代码简写技巧
如果||前面的值是0 '' false null undefined NaN其中的任意一种,则直接返回||后面的值
前端达人
2023/08/31
3370
分享一些 JavaScript 代码简写技巧
javascript(三):对象
 对象(object)是javascript中很重要的数据类型。对象是“键值对”的集合,同时也是无序的。(注意:对象结尾处有分号) 1 var ob1={ 2 a1:'name',//a1可以加引号或者不加 3 a2:100, 4 a3:function test(){}//末尾逗号(,)可加可不加 5 }; 6 var a1; 7 console.log(ob1['a1']); 8 console.log(ob1.a2); 9 var a2='a2'; 10 co
用户1149564
2018/01/11
5310
javascript(三):对象
JavaScript 进阶问题列表[每日前端夜话0x95]
来源:https://github.com/lydiahallie/javascript-questions
疯狂的技术宅
2019/07/17
1.4K0
JavaScript 进阶问题列表[每日前端夜话0x95]
ECMAScript5 Object的新属性方法
虽然说现在并不是所有的浏览器都已经支持ECMAScript5的新特性,但相比于ECMAScript4而言ECMAScript5被广大浏览器厂商广泛接受,目前主流的浏览器中只有低版本的IE不支持,其它都或多或少的支持了ECMAScript5的新特性,其中重中之重自然是一切对象的基类型——Object。
用户2936342
2018/08/27
7830
ECMAScript5 Object的新属性方法
ES的新特性
首先来看一下ES6新增加的特性块级作用域,至于作用域的深入讲解后续会专门出一篇文章进行讲解
用户3045442
2020/08/06
1.1K0
「建议收藏」送你一份精心总结的3万字ES6实用指南(上)
写本篇文章目的是为了夯实基础,基于阮一峰老师的著作 ECMAScript 6 入门 以及 tc39-finished-proposals 这两个知识线路总结提炼出来的重点和要点,涉及到从 ES2015 到 ES2021 的几乎所有知识,基本上都是按照一个知识点配上一段代码的形式来展示,所以篇幅较长,也正是因为篇幅过长,所以就没把 Stage 2 和 Stage 3 阶段的提案写到这里,后续 ES2021 更新了我再同步更新。
用户4456933
2021/06/01
8690
「建议收藏」送你一份精心总结的3万字ES6实用指南(上)
JavaScript 权威指南第七版(GPT 重译)(三)
对象是 JavaScript 中最基本的数据类型,您在本章之前的章节中已经多次看到它们。因为对象对于 JavaScript 语言非常重要,所以您需要详细了解它们的工作原理,而本章提供了这些细节。它从对象的正式概述开始,然后深入到关于创建对象和查询、设置、删除、测试和枚举对象属性的实用部分。这些以属性为重点的部分之后是关于如何扩展、序列化和定义对象重要方法的部分。最后,本章以关于 ES6 和更高版本语言中新对象字面量语法的长篇部分结束。
ApacheCN_飞龙
2024/03/23
2930
19 个常用的 JavaScript 简写方法
1.三元操作符 当想写 if...else 语句时,使用三元操作符来代替。 const x = 20; let answer; if (x > 10) { answer = 'is great
前端教程
2018/03/05
1.7K0
JavaScript 进阶
引用计数 IE采用的引用计数算法, 定义“内存不再使用”的标准很简单,就是看一个对象是否有指向它的引用。 算法:
小城故事
2023/04/03
1.3K0
JavaScript 进阶
相关推荐
有个开发者总结这 15 优雅的 JavaScript 个技巧
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验