ES6对象扩展
ES6对象扩展是指在ES6中新增的一些对象属性和方法,包括对象属性的简写、计算属性名、对象方法的简写、对象的可迭代性、拓展运算符等。
下面是一些常用的ES6对象扩展:
- 对象属性的简写
ES6中,当对象的属性名和赋值变量名相同时,可以简写属性名称,例如:
let name = 'Tom';
let age = 20;
let obj = {name,age
};
这里的name和age属性名可以直接使用变量名来表示,不需要再写属性名和变量名。
- 计算属性名
在ES6中,可以使用计算属性名来动态设置对象属性名,例如:
let key = 'name';
let obj = {[key]: 'Tom'
};
console.log(obj); // {name: "Tom"}
这里使用了方括号来表示计算属性名,key的值会被动态地赋给属性名。
- 对象方法的简写
在ES6中,定义对象方法时可以使用简写语法,例如:
let obj = {sayHello() {console.log('Hello World!');}
};
obj.sayHello(); // "Hello World!"
这里的sayHello方法与函数定义类似,不需要function关键字。
- 对象的可迭代性
在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来定义一个迭代器,使对象可以进行迭代操作。
- 拓展运算符
在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 对象上新增了一些方法,包括:
-
Object.is(): 判断两个值是否完全相等,包括 NaN 和 +0/-0 的区别。
-
Object.assign(): 将源对象的属性复制到目标对象中,可以同时复制多个对象。
-
Object.keys(): 返回一个数组,包含目标对象的所有可枚举属性的键名。
-
Object.values(): 返回一个数组,包含目标对象的所有可枚举属性的键值。
-
Object.entries(): 返回一个数组,包含目标对象的所有可枚举属性的键名和键值。
-
Object.getOwnPropertyDescriptors(): 返回一个对象,包含目标对象所有属性的描述对象。
-
Object.setPrototypeOf(): 设置一个对象的原型对象。
-
Object.getPrototypeOf(): 返回一个对象的原型对象。
-
Object.freeze(): 冻结一个对象,使其不可修改。
-
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的解法,考虑双指针 因为这里要求的是一段连续的数组 想起我们的最长不重复连续子序列 然后结合一下位运算就好了 是一道双指针不错的题目 class Solution { public:int longestNiceSubarray(vector<int>& nums) {int n nums…...
NOIP2023模拟6联测27 无穷括号序列
题目大意 小 C C C有一个括号序列 A A A,其长度为 m m m,且序列元素只包含左右括号。他想生成一个无限长的括号序列 B B B,由于 B B B的长度为正无穷,所以其下标可以为任意整数(可以为负)。为了由 A A A生…...
java spring cloud 工程企业管理软件-综合型项目管理软件-工程系统源码
Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示…...
openEuler 22.03 x86架构下docker运行arm等架构的容器——筑梦之路
为什么要这样做? 随着国产化的普及,国家政策对信创产业的支持,尤其一些金融证券行业、政府单位等,逐渐开始走国产化信创的路线,越来越多接触到国产 CPU (arm 平台,比如华为的鲲鹏处理器…...
【Java】HashMap常见的面试题
HashMap常见面试题 1.HashMap key 是否可以是为 我们自定义对象?——可以 2.HashMap 存储数据 有序还是无序?——无序 3.HashMap key 是否可以存放 null值?如果可以的话 存放在 数组中那个位置?——可以;存放在 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的影响(MSS的概念) 四. ARP协议 4.1 ARP协议的作用 4.2 ARP数…...
python 线程 超时时间
python 线程 超时时间_mob649e815f0f18的技术博客_51CTO博客...
管道巡检软体机器人 YOLOv8 模型部署全流程(PT→ONNX→昇腾OM)
项目背景:本项目针对搭载摄像头的管道内部巡检软体机器人开发,实现管道内部缺陷、障碍物、异物的实时AI检测,完成从PC端训练到边缘端部署的完整链路。 开源仓库:AtomGit 公开仓库 适配设备:香橙派AIPro(搭…...
SimpleMem:基于语义无损压缩的三阶段 Agent 终身记忆框架
📌 一句话总结: 本工作提出 SimpleMem,一个基于语义结构化压缩的终身记忆系统,通过“压缩—合成—规划”三阶段机制,在固定上下文预算下显著提升 LLM Agent 的长期交互能力与检索效率。 🔍 背景问题&…...
GitLab中文版在Windows Docker部署后,解决‘git clone’和‘git push’失败的几个关键检查点
GitLab中文版Windows Docker部署后git clone和git push故障排查指南 当你终于完成了GitLab中文版在Windows Docker上的部署,准备大展拳脚时,却发现git clone和git push命令频频报错,这种挫败感我深有体会。本文将带你系统排查四个关键环节&am…...
【实战指南】110kV变电站电气设计全流程解析:从主变压器选型到防雷接地
1. 110kV变电站电气设计核心流程 110kV变电站作为电力系统的关键节点,其电气设计质量直接影响区域供电可靠性和安全性。我在参与多个变电站项目后发现,设计过程就像搭积木,必须从底层开始稳扎稳打。整个流程可分为四个关键阶段: …...
大模型岗位大盘点!小白也能快速上手的5大方向,速来抄作业!
作者参加春招宣讲会后,对大模型岗位产生兴趣,但因自身条件感到迷茫。文章详细盘点了大模型相关岗位,包括核心算法、应用算法、系统与基建、数据与评测、工程开发、产品与运营六大类,并分析了各岗位的职责与要求。作者建议小白可从…...
linux-系统函数
Linux 系统函数详解 Linux 系统函数是用户程序与内核交互的底层接口,通过系统调用(syscall)实现。以下是核心分类及典型函数: 1. 文件操作函数 #include <fcntl.h> int open(const char *pathname, int flags, mode_t mode)…...
3步解放双手:崩坏星穹铁道自动化工具让资源收集效率提升200%
3步解放双手:崩坏星穹铁道自动化工具让资源收集效率提升200% 【免费下载链接】StarRailAssistant 崩坏:星穹铁道自动化 | 崩坏:星穹铁道自动锄大地 | 崩坏:星穹铁道锄大地 | 自动锄大地 | 基于模拟按键 项目地址: https://gitco…...
终极WebGL 3D图形开发指南:gl-matrix快速集成实战
终极WebGL 3D图形开发指南:gl-matrix快速集成实战 【免费下载链接】gl-matrix Javascript Matrix and Vector library for High Performance WebGL apps 项目地址: https://gitcode.com/gh_mirrors/gl/gl-matrix gl-matrix是一款专为高性能WebGL应用打造的Ja…...
AI开源项目贡献指南:测试工程师从PR提交到核心维护者的专业路径
测试工程师在AI开源生态中的独特价值在AI开源项目的演进中,软件测试从业者具备不可替代的专业优势:质量敏感度:精准识别模型漂移、接口兼容性、数据异常等AI特有风险系统化思维:构建覆盖数据流水线、模型服务、API交互的端到端验证…...
文墨共鸣企业内训系统搭建:基于AI的个性化学习路径与技能评估
文墨共鸣企业内训系统搭建:基于AI的个性化学习路径与技能评估 最近和几个做企业培训的朋友聊天,大家普遍头疼一个问题:公司花大价钱采购的在线学习平台,员工不爱用。要么是课程千篇一律,老员工觉得没意思;…...
