Fork me on GitHub

李可

导航

统计

扩展运算符

回到顶部

函数:停止使用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}

posted on   李可在江湖  阅读(374)  评论(0编辑  收藏  举报

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示