ECMAScript6: rest参数

来自CloudWiki
跳转至: 导航搜索

rest参数

ES6中引入rest参数,在函数的命名参数前添加三个点(...),就表明这是一个rest参数,用于获取函数的多余参数。rest参数就是一个数组,包含着自它之后传入的所有参数,通过这个数组名就可以逐一访问里面的参数。

function calculate(op, ...data){
	if(op === "+"){
		let result = 0;
		for(let i = 0; i < data.length; i++){
			result += data[i];
		}
		return result;
	}
	else if(op === "*"){
		let result = 1;
		for(let i = 0; i < data.length; i++){
			result *= data[i];
		}	
		return result;
	}
}

console.log(calculate("*", 2, 3, 4));

注意

每个函数最多只能声明一个rest参数,并且它只能是最后一个参数

如下面的就是错误的:

function calculate(op, ...data, last){
}