50_RN笔记8_三点运算符

一,三点运算符

  • 对于三个点号,三点放在形参或者等号左边为rest运算符;
  • 放在实参或者等号右边为spread运算符;
  • 或者说,放在被赋值一方为rest运算符,放在赋值一方为扩展运算符

1,rest运算符

用逗号隔开的值序列组合成一个数组,记住是在定义的时候使用,用在等号左边

在函数中定义参数使用

//1,用于函数不定参数:只有rest
var bar = function(...args) {
	for (let el of args) {
		console.log(el);
	}
}
bar(1, 2, 3, 4);
//1
//2
//3
//4
 
//2,用于函数不定参数:和其他参数组合
bar = function(a, ...args) {
	console.log(a);
	console.log(args);
}
bar(1, 2, 3, 4);
//1
//[ 2, 3, 4 ]


//3,rest不能作为最后的一个参数
let fun3=function(arr1,..args,arr2){
 console.log(args);
}//此时报错!切记,三点作为rest参数的时候,其后不能再有任何参数,只能作为最后一个角色出现!

在解构中使用

//1,配合解构使用:
var [a, ...rest] = [1, 2, 3, 4];
console.log(a);//1
console.log(rest);//[2, 3, 4]

//2,配合解构使用,rest只能作为最后的元素
var [x,...y,z]=[1,2,3];
//报错,Rest element must be last element in array

2,扩展运算符

是把数组或类数组对象展开成一系列用逗号隔开的值,记住是在使用的时候用,出现在等号右边

//1,扩展运算符放末尾
let arr=[1,2,3];
console.log(...arr);
//1, 2, 3返回数组中的各项
 
//2,扩展运算符放中间
let a=[2,3];
console.log(1,...a,4);
//1,2,3,4扩展运算符可以放在中间

//3,把一个数组插入另一个数组字面量
var arr4 = [...arr, 4, 5, 6];
console.log(arr4);
//[1, 2, 3, 4, 5, 6]
 
//4,字符串转数组
var str = 'love';
var arr5 = [...str];
console.log(arr5);
//[ 'l', 'o', 'v', 'e' ]

//5,函数的实参
var foo = function(a, b, c) {
	console.log(a);
	console.log(b);
	console.log(c);
}
var arr = [1, 2, 3];
//传统写法
foo(arr[0], arr[1], arr[2]);
 
//使用扩展运算符
foo(...arr);
//1
//2
//3

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值