restパラメータとspread構文
rest parameters
restパラメータとは?
パラメータ名の前に3点定義のパラメータを追加関数で渡されるパラメータリストを配列に圧縮します.
ex) 関数に渡されるパラメータは、パラメータおよびrestパラメータに順次割り当てられる.
ex) restパラメータは、宣言パラメータに先に割り当てられたパラメータを除き、残りのパラメータを並べ替える
->最後のパラメータとして使用する必要があります!
拡張文法とは?
複数の組合せの値を単一の値のリストに列挙する構文.・
ex) spread syntaxの結果は値のリストなので、結果を変数に割り当てることはできません. restパラメータパラメータパラメータ名に3点定義を付けて配列に圧縮する. spread syntax個別値のリストを展開するために使用します.
restパラメータとは?
パラメータ名の前に3点定義のパラメータを追加
ex)
function restTest(...rest) {
console.log(rest);
}
restTest(1,2,3,4) // [ 1, 2, 3, 4 ]
ex)
function restTest(para, ...rest) {
// para : 매개변수
console.log(para); // 1
// rest : rest parameters
console.log(rest); // [ 2, 3, 4 ]
}
->最後のパラメータとして使用する必要があります!
function restTest(para, ...rest) {
// para : 위의 예시에서는 1
console.log(para); // 1
// rest : 위의 예시에서는 1을 제외한 나머지 2,3,4를 배열로 변환하여 [2,3,4]
console.log(rest); // [ 2, 3, 4 ]
}
spread syntax拡張文法とは?
複数の組合せの値を単一の値のリストに列挙する構文.
for..of
ドアで巡回可能な(並び、文字列など)iterable(順序付き)に限ります.ex)
console.log(...[1,2,3]) // 1 2 3
console.log(...'Pocketmon'); // 'P' 'o' 'c' 'k' 'e' 't' 'm' 'o' 'n'
// iterable이 아닌 객체에는 spread syntax를 사용할 수 없다.
console.log(...{ a: 1, b: 2, c :3 }); // TypeError: Found non-callable @@iterator
// rest parameters로 배열을 펼친 결과를 실행
console.log(...[1,2,3]) // 1 2 3
// rest parameters로 문자열들을 각각 펼친 결과를 실행
console.log(...'Pocketmon'); // 'P' 'o' 'c' 'k' 'e' 't' 'm' 'o' 'n'
// 결과가 각각 배열과 문자열에 대한 목록이다.
n/a.結論Reference
この問題について(restパラメータとspread構文), 我々は、より多くの情報をここで見つけました https://velog.io/@yeonlisa/rest-parameters와-spread-syntaxテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol