ES6 对象解构的用法与用途

后仿之 SDF优先级和相关概念 综上:在后仿中,工具(vcs)看起来对于negative interconnect的处理如下:a. 查看此negative INTERCONNECT语句所对应的destination cell中是否有PORT语句:b. 如果PORT delay的值大于等于INTERCONNECT的绝对值,就从PORT中消耗掉对应的负值。c. 如果PORT delay不够用,就查看destination cell中是否有IOPATH或DEVICEm有IOPATH或DEVICE,并且够用(任意一种够用就行),就消耗掉。 阅读详情

可以很明显的观察到,在对象解构中,外部定义的变量由大括号包裹、变量必须与属性同名、对应的变量和属性没有次序、变量无同名对应属性的相当于未定义(undefined)。

那么对象解构有什么好处呢?在我看来,对象解构能够很便捷的将现有对象的内置方法提取出来,还能灵活的获取特定的值,比如

let { log, sin, cos } = Math;

将一个库中的属性通过解构的方式取出来,只取当前需要的属性,可以节省很多的空间。

function getStyle(w, defaultStyle) {

let width = w || ‘300px’;

// someCode

return { width, …defaultStyle };

}

const defaultStyle = { height: ‘100px’, display: ‘block’ }

const style = getStyle(‘200px’, defaultStyle);

const { width } = getStyle(‘200px’, defaultStyle);

console.log(style); // { width: ‘200px’, height: ‘100px’, display: ‘block’ }

console.log(width); // 200px

这是一个很有意思的用法,我的函数接受一个 width 和 defaultStyle (这里甚至可以用 arguments 会更好,不过为了简便演示,这个函数也不需要具体的意义,所以就没写出来),使用了对象解构的方式去返回一个对象,我可以直接使用 style 去获取,也可以通过对象解构的方式只取其中的一个。

这样做的好处是更加的灵活,这个函数可能是一个公共函数用于生产某特定种类的数据,但是事实上你的各个组件(或者是模块)是需要这么多数据,只需要部分特定数据的,这样你就可以使用对象解构专门的去取出来,既灵活操作,又节省内存空间。

值得注意的是第四行…defaultStyle,这种写法叫做扩展运算符,会将一个数组或者对象转为用逗号分隔的参数序列。

/**

  • 对象扩展

**/

const info = { name: “jobsofferings”, age: 21, email: ‘222222’ };

const infoChanged1 = { …info, email: ‘3’ };

const infoChanged2 = { email: ‘3’, …info };

console.log(infoChanged1); // { name: ‘jobsofferings’, age: 21, email: ‘3’ }

console.log(infoChanged2); // { email: ‘222222’, name: ‘jobsofferings’, age: 21 }

/**

  • 额外:数组扩展

**/

console.log(…[1, 2, 3]) // 1 2 3

console.log(1, …[2, 3, 4], 5) // 1 2 3 4 5

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后的最后

面试题千万不要死记,一定要自己理解,用自己的方式表达出来,在这里预祝各位成功拿下自己心仪的offer。
需要完整面试题的朋友可以点击蓝色字体免费获取

大厂面试题

面试题目录

外链图片转存中…(img-j6IlXtKg-1713483996231)]

[外链图片转存中…(img-ZGpntZ7K-1713483996231)]

[外链图片转存中…(img-FIaTVYwF-1713483996231)]

ArcGIS新手必看:HWSD2土壤数据从下载到批量提取TIFF的完整流程 本文详细介绍了ArcGIS中HWSD2土壤数据的完整处理流程,从数据下载、预处理到批量提取TIFF文件。涵盖栅格属性表构建、属性数据连接及性能优化等关键步骤,帮助新手高效掌握HWSD2数据提取技术,提升地理信息数据处理效率。 阅读详情

相关推荐

LoRA 完整解析:从理论到实践

LoRA(低秩适应)是一种高效的大模型微调方法,通过添加少量可训练参数(低秩矩阵)来适配新任务,避免全参数微调的高成本。其核心是将权重更新ΔW分解为两个小矩阵B×A的乘积,大幅减少训练参数量(仅0.1-1%)。LoRA基于内在维度假设,通过低秩约束捕捉核心任务信息,兼具效率效果。实际应用中,常用配置为秩r=16-32,目标模块选择注意力层的q_proj和v_proj,学习率比全参数微调大10倍(约1e-4)。优势包括参数高效(内存降低60-80%)、多任务适配灵活、保留预训练知识等,已成为大模型微调的主流

echo的博客 1354

ES6 对象解构用法用途,前端开发学习内容

前端校招精编面试解析大全点击这里免费获取完整版pdf查看前端校招精编面试解析大全点击这里免费获取完整版pdf查看。

2401_84092398的博客 950

10、进化动力学谱分析中的开放性问题

本文探讨了进化动力学谱分析中的若干开放性问题,重点围绕进化算法的性能设计理论展开。文章首先介绍了规范模型及其线性动力学特性,随后深入分析了在实际应用中偏离理想情况的两个关键因素:有限种群和双亲重组。在此基础上提出了三个核心开放性问题:寻找最优传输矩阵以实现全局最优解的高效搜索、无限有限种群模型谱之间的关系、以及卡林定理在多遗传算子下的推广可能性。通过谱条件、快速混合性首次命中时间的关系分析,文章进一步讨论了全局吸引快速收敛的理论基础,并提出了未来的研究方向,包括理论深化、实验拓展跨学科融合,旨在为

cuda7parallel的博客 63

ES6 对象解构用法用途,前端校招面试题及解析大全

面试前要精心做好准备,简历上写的知识点和原理都需要准备好,项目上多想想难点和亮点,这是面试时能和别人不一样的地方。还有就是表现出自己的谦虚好学,以及对于未来持续进阶的规划,企业招人更偏爱稳定的人。万事开头难,但是程序员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。前端面试题汇总JavaScript前端资料汇总网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

m0_60635321的博客 743

es6 let、const、解构赋值、模板字符串、Promise

let、const ES6开始有块级作用域,let、const都在块级作用域里起作用。(块级作用域必须有大括号!) let用法var类似,但是所声明的变量,只在let命令所在的代码块内有效。代码外调用let会报错。 let不存在变量提升,一定要先声明再使用变量,否则报错。 let不允许在相同作用域内,重复声明同一个变量。 const声明一个只读的常量(简单类型数据等同于常量,值保存在变量指向的那个内存地址。复合数据是指向实际数据的指针)。一旦声明,常量的值就不能改变。 const只声明不赋

xy_is_fhh的博客 2120

ES6新语法

JS ES6常用语法 const 关键字 const关键字作用是是声明常量(一旦声明就无法修改) 没有变量提升 有块级作用域 不能重复声明 声明时必须要初始化 不能重新赋值 // 没有变量提升 console.log(num); // 报错 const num = 100; // 有块级作用域 { const num = 200; } console.log(num); // 报错 // 不能重复声明 const num = 300; const num = 400; // 报错 cons

weixin_44966759的博客 493

ES6阶段总结

一 . ECMAScriptJavaScript的关系 前者是后者的规格 后者是前者的一种实现 二.es6基本操作内容 1.let变量的特点 1).块级变量 2).不存在变量提升 3).暂时性死区(会造成原有函数的功能失效) 4).不允许重复声明 2.什么是解构赋值 从数组和对象中提取值,对变量进行赋值 3.indexof 和 includes 的区别 indexof ...

L1993746181的博客 843

ES6学习(下)

ES6中新增的数组知识 JSON数组格式转换 JSON的数组格式就是为了前端快速的把JSON转换成数组的一种格式 let json = { '0': 'jspang', '1': '技术胖', '2': '大胖逼逼叨', length:3 } let arr=Array.from(json); console.log(arr) Array.from...

ansong472863274的博客 153

es6 语法简单使用

Symbol 的特点 : 1 , Symbol 的值是唯一的,用来解决命名冲突问题 2 , Symbol 的值不能其他数据进行运算 3 , Symbol 定义的对象属性不能使用 for ... in 循环遍历,但是可以使用Reflect . ownKeys 来获取对象的所有键名;//1,创建symbol let s = Symbol();//2,第二种创建symbol 的方法 let s2 = Symbol('夏天');let s3 = Symbol('夏天');

林夕 239

ES6学习

<html> <head> <title>标题</title> </head> <body> <button>b1</button> <button>b2</button> <button>b3</button> <button>b4</but.

W_L_B的博客 664

bpmn-js Palette 工具栏详解

本文深入解析了bpmn-js建模工具的Palette组件实现机制。Palette作为BPMN元素创建工具栏,采用模块化设计,通过PaletteProvider服务驱动。文章详细介绍了: Palette的核心概念、架构位置及数据流; 源码实现机制,包括PaletteProvider契约、条目属性定义和元素创建流程; 自定义扩展方法,如覆盖默认Provider、控制模块优先级、创建新分组; 样式交互定制技巧; 常见问题解决方案和最佳实践。 通过剖析底层实现,开发者可以掌握Palette的深度定制能力,包括增删

油墨香^-^的博客 280

谈一谈箭头函数

目录谈一谈箭头函数谈一谈 Symbol 类型谈一谈 BigInt 类型谈一谈扩展运算符谈一谈 reduce 的用法参数谈一谈模板字符串 谈一谈箭头函数 ES6 允许使用“箭头”(=>)定义函数。 关于 this 箭头函数没有自己的 this,箭头函数内部的 this 并不是调用时候指向的对象, 而是定义函数时所在函数的 this 指向。 箭头函数不能用于构造函数,也就是不能使用 new 关键字调用。 箭头函数没有 arguments 对象, 只能使用rest参数。 谈一谈 Symbol 类型 E

木木木森林 209

ES6解构赋值的用途总结

二 - ES6解构赋值的用途总结 2 - 什么是ES6解构ES6中添加了一个新属性:解构,允许你使用类似数组或对象字面量的语法将数组和对象的属性赋给各种变量。解构是一种打破数据结构,将其拆分为更小部分的过程,允许我们将右边的表达式看起来也像变量声明一般,然后在左边将值一一提取。 解构这种赋值语法较为简洁,比传统的属性访问更为清晰。 还不了解什么是解构赋值的,请参考:https://blog....

拎着蜗牛跑的壳儿 2534

ES6 数组的解构赋值

目录 一、定义 二、详情讲解 1、数组解构:数组解构时数组的元素是按次序排列的,变量的取值由它的位置决定 2、对象解构:对象解构对象的属性没有次序,变量必须属性同名,才能取到正确的值。 三、用途 1、交换变量的值 2、从函数返回多个值 3、函数参数的定义 4、提取 JSON 数据 5、遍历 Map 结构 一、定义 ES6允许按照一定的模式,从数组和对象中提取值,对变量进...

zhumizhumi的博客 7642

(2)ES6 解构赋值

解构赋值可以方便地将一组参数变量名对应起来。

java程序员的蜕变之路 1304

ES6解构赋值

解构赋值概念数组的解构赋值对象解构赋值函数参数的解构赋值 概念 解构赋值语法是一种 Javascript 表达式。通过解构赋值, 可以将属性/值从对象/数组中取出,赋值给其他变量。 换句话说也就是ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。 数组的解构赋值 基本用法: let [a, b, c] = [1, 2, 3]; console.log(a,b,c)//...

weixin_40642141的博客 2705

ES6解构赋值及用途

一、ES6解构赋值 1.数组解构赋值 数组结构赋值 let a=1,b=2,c=3 let [a,b,c]=[1,2,3] 2.定义默认值 let [a,b=3]=[4] 3.对象解构赋值 let {a,b}={a:5,b:6} let obj = { p: [ 'Hello', ...

Bwateree的博客 478

ES6解构赋值的深入理解

ES6中的解构赋值的深入理解 引言 解构赋值语法是一种 Javascript 表达式。通过解构赋值, 可以将属性/值从对象/数组中取出,赋值给其他变量。—摘自MDN 1-解构赋值及语法糖的引入: 虽然我们写是这么写,但是最终我们浏览器还是会以上面那样解析, 像这种简化语法的写法,就叫做语法糖。 2- 变量的解构赋值小结: 理解: 从对象或数组中提取数据, 并赋值给变量(多个) 对象解构赋...

拎着壳儿跑的蜗牛 3002

ES6 变量的解构赋值详解

文章目录变量的解构赋值1.0 数组的解构赋值1. 基本用法2. 解构赋值默认值2.0 对象解构赋值上面代码中,`foo`是匹配的模式,`baz`才是变量。真正被赋值的是变量`baz`,而不是模式`foo`2.1 对象的嵌套解构3.0 字符串的解构赋值4.0 函数参数的解构赋值5.0 解构赋值的用途1. 交换变量的值2. 从函数返回多个值3.函数参数的定义4. 输入模块的指定方法Summary4. 输入模块的指定方法Summary 变量的解构赋值 1.0 数组的解构赋值 1. 基本用法 ES 6 允许

yangyang_A的博客 915

es6知识点7-自备使用

本文介绍了JavaScript对象遍历和数组归约的实用方法,主要包括: 对象遍历方法: Object.keys()获取对象键名数组 Object.values()获取对象值数组 Object.entries()获取键值对数组 实际应用包括参数处理、对象转数组等业务场景 数组reduce方法: 基本求和用法执行原理 典型业务场景如金额计算、数量统计 高级应用包括数据分组和结构转换 初始值设置规则(根据预期结果类型) 这些方法在前端开发中非常实用,能简化日常业务代码如数据统计、分组和格式转换等操作。

qq_41941256的博客 184

115网盘连接提取工具

115网盘连接提取工具 115网盘连接提取工具 115网盘连接提取工具

M7450,7400,M7650,系列固件升级程序.rar

联想兄弟M7450,7400,M7650,系列固件、驱动升级程序,此固件升级程序可解决Windows10 系统下无法识别和安装联想M7400、M7450F、M7600、M7650系列打印机的问题。

上一篇: CSS文本样式值
下一篇: HTML+CSS-基础篇
radcb55226
博客等级 码龄2年 2754粉丝 · 258原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值