扩展运算符
函数:停止使用arguments
这里主要我使用时经常的遗漏点,和相对高级的注意点
不定参数
常用...args(参数中使用...扩展运算符)
const fn=(...args){
console.log(`不定参数:...args中的...扩展运算符,目的为了代替在函数中使用argiments类数组对象`)
for(let arg of args){
console.log(`参数:${arg}`)
}
}
const arg=()=>{console.log('fn1函数')}
fn(arg,1,2)
//不定参数:...args中的...扩展运算符,目的为了代替在函数中使用argiments类数组对象
//参数:()=>{console.log('fn1函数')}
//参数:1
//参数:2
默认参数
默认参数,注意:还支持从左到右的运算
function fn(arg1='人',arg2=(arg1=='人')?'有脑子':'没脑子'){
console.log(`${arg1},${arg2}`)
}
fn() //人,有脑子
fn('猪猪') //猪猪,没脑子
fn('猪猪','非要说有脑子') //猪猪,非要说有脑子
数组字面量
var arr1=['a','b','c'];
var arr2=[...arr1,'d','e']; //['a','b','c','d','e']
//push函数中
var arr1=['a','b','c'];
var arr2=['d','e'];
arr1.push(...arr2); //['a','b','c','d','e']
解构赋值
let [arg1,arg2,...arg3] = [1, 2, 3, 4];
arg1 //1
arg2 //2
arg3 //['3','4']
//解构赋值中展开运算符只能用在最后:
let [arg1,...arg2,arg3] = [1, 2, 3, 4]; //报错
类数组对象变成数组
var list=document.getElementsByTagName('div');
var arr=[...list];
ES7草案中的对象展开运算符
let {x,y,...z}={x:1,y:2,a:3,b:4};
x; //1
y; //2
z; //{a:3,b:4}
对象像数组插入使用插入功能
var t={t:2}
var o={a:1,...t}//{a: 1, t: 2}
合并多个对象
let o1={a:1}
let o2={b:1}
let o3={c:1}
let o ={...o1,...o2,...o3}//{a: 1, b: 1, c: 1}
知识没有高低贵贱之分。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?