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

ES6对象扩展

ES6对象扩展是指在ES6中新增的一些对象属性和方法,包括对象属性的简写、计算属性名、对象方法的简写、对象的可迭代性、拓展运算符等。

下面是一些常用的ES6对象扩展:

  1. 对象属性的简写

ES6中,当对象的属性名和赋值变量名相同时,可以简写属性名称,例如:

let name = 'Tom';
let age = 20;
let obj = {name,age
};

这里的name和age属性名可以直接使用变量名来表示,不需要再写属性名和变量名。

  1. 计算属性名

在ES6中,可以使用计算属性名来动态设置对象属性名,例如:

let key = 'name';
let obj = {[key]: 'Tom'
};
console.log(obj);  // {name: "Tom"}

这里使用了方括号来表示计算属性名,key的值会被动态地赋给属性名。

  1. 对象方法的简写

在ES6中,定义对象方法时可以使用简写语法,例如:

let obj = {sayHello() {console.log('Hello World!');}
};
obj.sayHello();  // "Hello World!"

这里的sayHello方法与函数定义类似,不需要function关键字。

  1. 对象的可迭代性

在ES6中,对象可以通过定义Symbol.iterator属性来实现可迭代性,例如:

let obj = {name: 'Tom',age: 20,[Symbol.iterator]: function* () {let keys = Object.keys(this);for (let key of keys) {yield [key, this[key]];}}
};
for (let [key, value] of obj) {console.log(key + ": " + value);
}

这里使用了Symbol.iterator来定义一个迭代器,使对象可以进行迭代操作。

  1. 拓展运算符

在ES6中,可以使用拓展运算符...来展开数组、对象等,例如:

let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let arr3 = [...arr1, ...arr2];
console.log(arr3);  // [1, 2, 3, 4, 5, 6]let obj1 = {name: 'Tom'};
let obj2 = {age: 20};
let obj3 = {...obj1, ...obj2};
console.log(obj3);  // {name: "Tom", age: 20}

这里使用了拓展运算符...将多个数组或对象合并到一起

        ES6 在 Object 对象上新增了一些方法,包括:

  1. Object.is(): 判断两个值是否完全相等,包括 NaN 和 +0/-0 的区别。

  2. Object.assign(): 将源对象的属性复制到目标对象中,可以同时复制多个对象。

  3. Object.keys(): 返回一个数组,包含目标对象的所有可枚举属性的键名。

  4. Object.values(): 返回一个数组,包含目标对象的所有可枚举属性的键值。

  5. Object.entries(): 返回一个数组,包含目标对象的所有可枚举属性的键名和键值。

  6. Object.getOwnPropertyDescriptors(): 返回一个对象,包含目标对象所有属性的描述对象。

  7. Object.setPrototypeOf(): 设置一个对象的原型对象。

  8. Object.getPrototypeOf(): 返回一个对象的原型对象。

  9. Object.freeze(): 冻结一个对象,使其不可修改。

  10. Object.seal(): 封闭一个对象,使其属性不可新增、删除,但属性值可以修改。

相关文章:

ES6对象扩展

ES6对象扩展是指在ES6中新增的一些对象属性和方法,包括对象属性的简写、计算属性名、对象方法的简写、对象的可迭代性、拓展运算符等。 下面是一些常用的ES6对象扩展: 对象属性的简写 ES6中,当对象的属性名和赋值变量名相同时,…...

docker应用部署---Tomcat的部署配置

1. 搜索tomcat镜像 docker search tomcat2. 拉取tomcat镜像 docker pull tomcat3. 创建容器,设置端口映射、目录映射 # 在/root目录下创建tomcat目录用于存储tomcat数据信息 mkdir ~/tomcat cd ~/tomcatdocker run -id --namec_tomcat \ -p 8080:8080 \ -v $PWD:…...

TestCenter测试管理工具

estCenter(简称TC)一款广受好评的测试管理工具,让测试工作更规范、更有效率,实现测试流程无纸化,测试数据资产化。 产品概述 TC流程图 产品功能 一、案例库 案例库集中化管理,支持对测试用例集中管理&…...

索引切片复习

# loc方法 data2.loc[:4,[ymd, bWendu]]# iloc方法 —— 连续取字段 data2.iloc[:4,1:3]# iloc方法 —— 非连续取字段 data2.iloc[:4,[1,4]]# 直接选取单个字段 —— Series data2[ymd]# 直接选取单个字段 —— DataFrame data2[[ymd]]# 直接选取多个字段 —— DataFrame data…...

想入门网络安全,这些前置准备要做好!

网上有很多关于网络安全如何学习、如何入门的内容,但是仍然有很多小白不懂网络安全要怎么去学习。这是由于网络安全包含的范围确实比较广,学习的内容也比较多,所以在刚开始了解的时候确实会有点搞不清楚状况。 这里有一个方法,不要…...

Spark新特性与核心概念

一、Sparkshuffle (1)Map和Reduce 在shuffle过程中,提供数据的称之为Map端(Shuffle Write),接受数据的称之为Redeuce端(Shuffle Read),在Spark的两个阶段中,总…...

设计模式_状态模式

状态模式 介绍 设计模式定义案例问题堆积在哪里解决办法状态模式一个对象 状态可以发生改变 不同的状态又有不同的行为逻辑游戏角色 加载不同的技能 每个技能有不同的:攻击逻辑 攻击范围 动作等等1 状态很多 2 每个状态有自己的属性和逻辑每种状态单独写一个类 角色…...

css 某个元素被挤的显示不完整,如何显示完整

加一行 flex-shrink: 0;解决...

pve lxc debian 11安装docker遇到bash: sudo: command not解决办法

pve创建LXC容器,使用debian 11模版,安装完成后正常换源、安装依赖 然后添加Docker 的官方 GPG 密钥时出错: $ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add - 提示 bash: sudo: command not …...

springboot的缓存和redis缓存,入门级别教程

一、springboot(如果没有配置)默认使用的是jvm缓存 1、Spring框架支持向应用程序透明地添加缓存。抽象的核心是将缓存应用于方法,从而根据缓存中可用的信息减少执行次数。缓存逻辑是透明地应用的,对调用者没有任何干扰。只要使用…...

语雀P0级时间爆发,留给运维的时间不多了?

事件背景 打工人的焦虑,已经延伸到在线文档了。近日,语雀P0级故障想必大家都有所体会,宕机近8小时,笔记、离线同步完全不可用。作为用户尤其担心我的文档资料是否会因此消失。 这泼天的8小时,放眼互联网界也是相当炸裂…...

LeetCode 2401.最长优雅子数组 ----双指针+位运算

数据范围1e5 考虑nlog 或者n的解法&#xff0c;考虑双指针 因为这里要求的是一段连续的数组 想起我们的最长不重复连续子序列 然后结合一下位运算就好了 是一道双指针不错的题目 class Solution { public:int longestNiceSubarray(vector<int>& nums) {int n nums…...

NOIP2023模拟6联测27 无穷括号序列

题目大意 小 C C C有一个括号序列 A A A&#xff0c;其长度为 m m m&#xff0c;且序列元素只包含左右括号。他想生成一个无限长的括号序列 B B B&#xff0c;由于 B B B的长度为正无穷&#xff0c;所以其下标可以为任意整数&#xff08;可以为负&#xff09;。为了由 A A A生…...

java spring cloud 工程企业管理软件-综合型项目管理软件-工程系统源码

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下&#xff1a; 首页 工作台&#xff1a;待办工作、消息通知、预警信息&#xff0c;点击可进入相应的列表 项目进度图表&#xff1a;选择&#xff08;总体或单个&#xff09;项目显示…...

openEuler 22.03 x86架构下docker运行arm等架构的容器——筑梦之路

为什么要这样做&#xff1f; 随着国产化的普及&#xff0c;国家政策对信创产业的支持&#xff0c;尤其一些金融证券行业、政府单位等&#xff0c;逐渐开始走国产化信创的路线&#xff0c;越来越多接触到国产 CPU &#xff08;arm 平台&#xff0c;比如华为的鲲鹏处理器&#xf…...

【Java】HashMap常见的面试题

HashMap常见面试题 1.HashMap key 是否可以是为 我们自定义对象&#xff1f;——可以 2.HashMap 存储数据 有序还是无序&#xff1f;——无序 3.HashMap key 是否可以存放 null值&#xff1f;如果可以的话 存放在 数组中那个位置&#xff1f;——可以;存放在 index0的位置 4.Ha…...

openpnp - src - 配置文件载入过程的初步分析

文章目录 openpnp - src - 配置文件载入过程的初步分析概述笔记自己编译用的git版本报错截图问题1 - 怎么在调试状态下, 定位到抛异常的第一现场?结合单步调试找到的现场, 来分析报错的原因openpnp配置文件读取的流程END openpnp - src - 配置文件载入过程的初步分析 概述 从…...

中国各城市土地利用类型(城市功能)数据集(shp)

中国各城市土地利用类型(城市功能)数据集 时间:2018年 全国范围的城市用地类型数据(居住/商业/交通用地等共计11类) 分类:居住用地、商业用地、工业用地、医疗设施用地、体育文化设施用地、交通场站用地、绿地等用地类型 含城市编码、一级分类5个、二级分类11个 数据按…...

Linux网络编程:数据链路层

目录 一. 数据链路层概述 二. 以太网 2.1 以太网的概念 2.2 以太网数据帧 2.3 对于MAC地址的认识 2.4 数据碰撞问题 三. MTU和MSS 3.1 什么是MTU 3.2 MTU对UDP的影响 3.3 MTU对TCP的影响&#xff08;MSS的概念&#xff09; 四. ARP协议 4.1 ARP协议的作用 4.2 ARP数…...

python 线程 超时时间

python 线程 超时时间_mob649e815f0f18的技术博客_51CTO博客...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题&#xff0c;说是客户的导入文件模版想支持部分导入内容的下拉选&#xff0c;于是我就找了easyexcel官网寻找解决方案&#xff0c;并没有找到合适的方案&#xff0c;没办法只能自己动手并分享出来&#xff0c;针对Java生成Excel下拉菜单时因选项过多导…...