Rest and Spread 操作符(...)
- 用來(lái)聲明可以傳遞任意數(shù)量參數(shù)的方法
//TypeScript
function fun1(...arg) {
arg.forEach(function (arg) {
console.log(arg);
})
}
//調(diào)用函數(shù)傳入不同數(shù)量的參數(shù)
fun1(1, 2, 4);
fun1(1, 5, 6, 7, 8, 4, 6);
//編譯的JavaScript代碼,下面出現(xiàn)了一籮筐
function fun1() {
var arg = [];
for (var _i = 0; _i < arguments.length; _i++) {
arg[_i] = arguments[_i];
}
arg.forEach(function (arg) {
console.log(arg);
});
}
fun1(1, 2, 4);
fun1(1, 5, 6, 7, 8, 4, 6);
//console.log
(unknown) 1
(unknown) 2
(unknown) 4
(unknown) 1
(unknown) 5
(unknown) 6
(unknown) 7
(unknown) 8
(unknown) 4
(unknown) 6
- 把任意長(zhǎng)度的數(shù)組當(dāng)做參數(shù)傳遞給固定數(shù)量參數(shù)的方法
function fun1(a, b, c) {
console.log(a);
console.log(b);
console.log(c);
}
var arg1 = [1, 2, 3];
var arg2 = [1, 2];
var arg3 = [1, 2, 3, 4, 5];
fun1(arg1);
fun1(arg2);
fun1(arg3);
//好,結(jié)果你猜
//可能TypeScript現(xiàn)在用的版本不支持查坪。。卒煞。