当前位置: 首页 > news >正文

ES6中对象的一些拓展

  1. 当对象键名与对应值名相等的时候,可以进行简写 const obj = { name }
  2. 允许字面量定义对象时,将表达式放在括号内
let lastWord = 'last word';const a = {'first word': 'hello',[lastWord]: 'world'
};a['first word'] // "hello"
a[lastWord] // "world"
a['last word'] // "world"
  1. 在解构赋值中,未被读取的可遍历的属性,可以分配到指定的对象上面。注意:拓展运算符形式的解构赋值必须是最后一个参数,否则会报错.
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
x // 1
y // 2
z // { a: 3, b: 4 }
  1. ES6 一共有 5 种方法可以遍历对象的属性。

a.for…in:循环遍历对象自身的和继承的可枚举属性(不含 Symbol 属性)

b.Object.keys(obj):返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含 Symbol 属性)的键名

c.Object.getOwnPropertyNames(obj):回一个数组,包含对象自身的所有属性(不含 Symbol 属性,但是包括不可枚举属性)的键名

d.Object.getOwnPropertySymbols(obj):返回一个数组,包含对象自身的所有 Symbol 属性的键名

e.Reflect.ownKeys(obj):返回一个数组,包含对象自身的(不含继承的)所有键名,不管键名是 Symbol 或字符串,也不管是否可枚举

5.对象新增的方法

Object.is():严格判断两个值是否相等,与严格比较运算符(===)的行为基本一致,不同之处只有两个:一是+0不等于-0,二是NaN等于自身;

Object.assign():方法用于对象的合并,将源对象source(第二个参数)的所有可枚举属性,复制到目标对象target(第一个参数);

Object.getOwnPropertyDescriptors():返回指定对象所有自身属性(非继承属性)的描述对象;

Object.setPrototypeOf():方法用来设置一个对象的原型对象;

Object.getPrototypeOf(): 用于读取一个对象的原型对象;

Object.keys(): 返回自身的(不含继承的)所有可遍历(enumerable)属性的键名的数组;

Object.values(): 返回自身的(不含继承的)所有可遍历(enumerable)属性的键对应值的数组;

Object.entries(): 返回一个对象自身的(不含继承的)所有可遍历(enumerable)属性的键值对的数组;

Object.fromEntries(): 用于将一个键值对数组转为对象;

对象的方法具体使用可点击前往 MDN-Object

相关文章:

ES6中对象的一些拓展

当对象键名与对应值名相等的时候,可以进行简写 const obj { name }允许字面量定义对象时,将表达式放在括号内 let lastWord last word;const a {first word: hello,[lastWord]: world };a[first word] // "hello" a[lastWord] // "wo…...

10分钟快速入门Pandas库

pandas 是基于NumPy 的一种工具,该工具是为解决数据分析任务而创建的,这篇文章主要介绍了10分钟快速入门Pandas库,重点介绍pandas常见使用方法,结合实例代码介绍的非常详细,需要的朋友可以参考下目录Pandas的介绍pandas 是基于Num…...

考研复试机试 | C++ | 王道机试课程笔记

目录Zero-complexity (上交复试题)题目&#xff1a;代码&#xff1a;括号匹配问题题目&#xff1a;代码&#xff1a;表达式解析问题 &#xff08;浙大机试题&#xff09;题目&#xff1a;代码&#xff1a;标准库里提供了栈 stack<typename> myStack .size() 栈的大小 .pu…...

【python科目一:生产线系统设计;激光刀切割材料】

工厂有若干条生产线&#xff0c;可以生产不同型号的产品&#xff0c;要求实现功能如下&#xff1a;1. ProductionLineMgmtSys 初始化生产线和产品的生产周期有num条生产线&#xff0c;编号从0开始periods[i]表示生产一个型号为i的产品所需的生产周期&#xff0c;单位为天2. Pro…...

Linux——进程概念(进程状态)

目录 进程状态 三态模型 五态模型 七态模型 Example eg1:阻塞态&#xff1a;等待某种资源的过程 eg2:挂起态 Linux内核源代码 Linux进程状态查看 Linux运行状态 R运行状态&#xff08;running&#xff09;: S睡眠状态&#xff08;sleeping)&#xff1a; D磁盘休眠状…...

超详细:正则表达式从入门到入门

文章目录匹配字符\d \D\s \S量词&#xff1a;匹配多个字符星号*加号问号&#xff1f;大括号{}集合字符[]明确字符范围字符补集字符常见字符集贪婪模式和非贪婪模式匹配开头和结尾贪婪模式和非贪婪模式常用函数re.findall()re.search()re.compile()re.split()re.sub()本文章首发…...

jupyter notebook小技巧

1、.ipynb 文件转word文档 将 jupyter notebook&#xff08;.ipynb 文件&#xff09;转换为 word 文件&#xff08;.docx&#xff09;的最简单方法是使用 pandoc。 首先安装pip install pandoc&#xff0c; 安装后&#xff0c;在将 Jupyter notebook文件目录cmd 然后输入打开…...

考研复试机试 | c++ | 王道复试班

目录n的阶乘 &#xff08;清华上机&#xff09;题目描述代码汉诺塔问题题目&#xff1a;代码&#xff1a;Fibonacci数列 &#xff08;上交复试&#xff09;题目代码&#xff1a;二叉树&#xff1a;题目&#xff1a;代码&#xff1a;n的阶乘 &#xff08;清华上机&#xff09; …...

js闭包简单理解

js里面的闭包是一个难点也是它的一个特色&#xff0c;是我们必须掌握的js高级特性&#xff0c;那么什么是闭包呢&#xff1f;它又有什么作用呢&#xff1f; 1&#xff0c;提到闭包我们这里先讲解一下js作用域的问题 js的作用域分两种&#xff0c;全局和局部&#xff0c;基于我…...

「JVM 编译优化」编译器优化技术

后端编译&#xff08;即时编译、提前编译&#xff09;的目标时将字节码翻译成本地机器码&#xff0c;而难点是输出优化质量较高的机器码&#xff1b; 文章目录1. 优化技术概览2. 方法内联&#xff08;Inlining&#xff09;3. 逃逸分析&#xff08;Escape Analysis&#xff09;4…...

回溯问题(子集型回溯、组合型回溯、排列型回溯)【零神基础精讲】

来源0x3f&#xff1a;https://space.bilibili.com/206214 回溯分为【子集型回溯】【组合型回溯】【排列型回溯】 文章目录回溯基本概念[17. 电话号码的字母组合](https://leetcode.cn/problems/letter-combinations-of-a-phone-number/)子集型回溯&#xff08;分割问题也可以看…...

源代码配置安装Apache

源代码配置安装Apache &#x1f4d2;博客主页&#xff1a; 微笑的段嘉许博客主页 &#x1f4bb;微信公众号&#xff1a;微笑的段嘉许 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐留言&#x1f4dd; &#x1f4cc;本文由微笑的段嘉许原创&#xff01; &#x1f…...

css水平垂直居中各种方法实现方式

不定宽高水平垂直居中&#xff1f; 面试题回答方式&#xff1a; 通过display&#xff1a;flex&#xff1b;justify-content:center; align-items:center;就可以让子元素不定宽高水平垂直居中 也可以父display&#xff1a;flex&#xff1b;&#xff0c;子设置一个margin&#…...

PowerShell Install java 13

java 前言 Java具有大部分编程语言所共有的一些特征&#xff0c;被特意设计用于互联网的分布式环境。Java具有类似于C语言的形式和感觉&#xff0c;但它要比C语言更易于使用&#xff0c;而且在编程时彻底采用了一种以对象为导向的方式。 java download javadownloadPowersh…...

Python的PyQt框架的使用(汇总)

Python的PyQt框架的使用一、前言二、安装PyQt三、使用第三方开发工具四 、创建主窗体五、常用控件篇1.QLineEdit 文本框2.QPushButton按钮控件3.QRadioButton 单选按钮六、布局管理篇1.通过布局管理器布局2.绝对布局七、信号与槽的关联1.编辑信号/槽2.信号/槽编辑器八、资源文件…...

力扣热题100Day05:15.三数之和,17. 电话号码的字母组合,19. 删除链表的倒数第 N 个结点

15.三数之和 题目链接&#xff1a;15. 三数之和 - 力扣&#xff08;Leetcode&#xff09; 思路&#xff1a; &#xff08;1&#xff09;双指针&#xff0c;在外层for循环里加入两个指针&#xff0c;left和right &#xff08;2&#xff09;排序&#xff1a;为了更好地进行去…...

探索开源:获取完整的 GitHub 社区数据集

本篇文章聊聊 GitHub 开放数据集的获取和整理&#xff0c;分享一些数据整理的细节技巧&#xff0c;以及一些相对粗浅的数据背后的事情。 写在前面 分析 GitHub 上的项目和开发者获取是深入、真实的了解开源世界演进的方法之一。 在 GHArchive 项目中&#xff0c;我们能够看到…...

github ssh密钥配置,克隆远程仓库

GitHub的SSH配置 在往github上push项目的时候&#xff0c;如果走https的方式&#xff0c;每次都需要输入账号密码&#xff0c;非常麻烦。而采用ssh的方式&#xff0c;就不再需要输入&#xff0c;只需要在github自己账号下配置一个ssh key即可&#xff01; 很多朋友在用github管…...

突破年薪百万难关!吃透这套Java真题合集

前言我相信大多 Java 开发的程序员或多或少经历过BAT一些大厂的面试&#xff0c;也清楚一线互联网大厂 Java 面试是有一定难度的&#xff0c;小编经历过多次面试&#xff0c;有满意的也有备受打击的。因此呢小编想把自己这么多次面试经历以及近期的面试真题来个汇总分析&#x…...

[黑马程序员SSM框架教程] Spring-11-setter注入

思考&#xff1a;向一个类中传递数据要几种&#xff1f; set方法构造方法 思考&#xff1a;依赖注入描述了在容器中建立bean与bean之间依赖关系的过程&#xff0c;如果bean运行需要数字或字符呢 引用类型简单类型&#xff08;基本数据类型和字符串&#xff09; 注入方式&#x…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...

MyBatis中关于缓存的理解

MyBatis缓存 MyBatis系统当中默认定义两级缓存&#xff1a;一级缓存、二级缓存 默认情况下&#xff0c;只有一级缓存开启&#xff08;sqlSession级别的缓存&#xff09;二级缓存需要手动开启配置&#xff0c;需要局域namespace级别的缓存 一级缓存&#xff08;本地缓存&#…...

鸿蒙(HarmonyOS5)实现跳一跳小游戏

下面我将介绍如何使用鸿蒙的ArkUI框架&#xff0c;实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...