残りのパラメータと展開演算子の使用
1299 ワード
1.残りのパラメータ
関数パラメータが可変または正確なパラメータ数が分からない場合に使用します.
構文
構文
"..."残りのパラメータまたは展開構文として使用されます.
残りのパラメータと展開構文は、次のように区別できます.
...この関数パラメータの末尾にある残りのパラメータは、パラメータリストの残りの部分を配列として使用します.
...この関数を呼び出すと、展開構文は配列をリストに展開します.
関数パラメータが可変または正確なパラメータ数が分からない場合に使用します.
構文
// 모든 인수가 배열 args에 저장
function sumAll(...args) {
for (let arg of args) sum += arg;
}
alert( sumAll(1) ); // 1
alert( sumAll(1, 2) ); // 3
alert( sumAll(1, 2, 3) ); // 6
function showName(firstName, lastName, ...titles) {
alert( firstName + ' ' + lastName ); // Julius Caesar
// 나머지 인수들은 배열 titles의 요소가 됩니다.
// titles = ["Consul", "Imperator"]
alert( titles[0] ); // Consul
alert( titles[1] ); // Imperator
alert( titles.length ); // 2
}
showName("Julius", "Caesar", "Consul", "Imperator");
注意!残りのパラメータは常に最後に宣言されますfunction f(arg1, ...rest, arg2) <-- 에러
2.展開演算子展開構文
1. 배열의 요소를 전개.
let arr = [3, 5, 1];
alert( Math.max(...arr) ); // 5
2. 배열을 전개하여 신규배열 생성
let arr = [3, 5, 1];
let arr2 = [8, 9, 15];
let merged = [0, ...arr, 2, ...arr2]; // 0,3,5,1,2,8,9,15
3. 이터러블 객체 배열전환
let str = "Hello";
alert( [...str] ); // H,e,l,l,o
整理する"..."残りのパラメータまたは展開構文として使用されます.
残りのパラメータと展開構文は、次のように区別できます.
...この関数パラメータの末尾にある残りのパラメータは、パラメータリストの残りの部分を配列として使用します.
...この関数を呼び出すと、展開構文は配列をリストに展開します.
Reference
この問題について(残りのパラメータと展開演算子の使用), 我々は、より多くの情報をここで見つけました https://velog.io/@yahoo2344/나머지-매개변수-전개-연산자-활용하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol