7月2日金曜日TIL
9323 ワード
Spread/Rest構文
Spread構文
配列を展開してパラメータとして渡すか、展開して各要素として挿入します.function sum(x, y, z) {
return x + y + z;
}
const numbers = [1, 2, 3];
sum(...numbers) // 질문 : 어떤 값을 리턴하나?
最新の構文
Parameterは配列で受信できます.パラメータの個数が可変の場合に役立ちます.function sum(...theArgs) {
return theArgs.reduce(previous, current) => {
return previous + current;
});
}
sum(1, 2, 3) // 어떤값 리턴?
sum(1, 2, 3, 4) // 어떤 값 리턴?
アレイでの使用時
Spread構文が配列で機能する
1.連結シナリオ
let parts = ['shoulders', 'knees'];
let lyrics = ['head', ...parts, 'and', 'toes'];
// lyrics의 값은?
2.アレイのコピー
let parts = ['shoulders', 'knees'];
let lyrics = ['head', ...parts, 'and', 'toes'];
let newarr = [...parts, ...lyrics];
// Spread문법은 기존 배열을 변경하지 않으므로 immutable하다.
オブジェクトで使用する場合 let obj1 = { foo: 'bar', x: 42};
let obj2 = { foo: 'baz', y: 13};
let clonedObj = { ...obj1 };
let mergedObj = { ...obj1, ...obj2 };
// clonedObj, mergedObj의 값은?
関数から残りのパラメータを取得 function myFun(a,, b, ...manyMoreArgs) {
console.log("a", a);
console.log("b", b);
console.log("manyMoreArgs", manyMoreArgs);
}
myFun("one", "two", "three", "four", "five", "six");
// 콘솔은 순서대로 찍히는가?
ぶんかいこうぞう
構造分解配分とは,Spread構文を用いて値を分解し,個々の値を変数に再配分するプロセスである.
Reference
この問題について(7月2日金曜日TIL), 我々は、より多くの情報をここで見つけました
https://velog.io/@hunsm4n/7월2일-금요일-TIL
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
function sum(x, y, z) {
return x + y + z;
}
const numbers = [1, 2, 3];
sum(...numbers) // 질문 : 어떤 값을 리턴하나?
Parameterは配列で受信できます.パラメータの個数が可変の場合に役立ちます.
function sum(...theArgs) {
return theArgs.reduce(previous, current) => {
return previous + current;
});
}
sum(1, 2, 3) // 어떤값 리턴?
sum(1, 2, 3, 4) // 어떤 값 리턴?
アレイでの使用時
Spread構文が配列で機能する
1.連結シナリオ
let parts = ['shoulders', 'knees'];
let lyrics = ['head', ...parts, 'and', 'toes'];
// lyrics의 값은?
2.アレイのコピー
let parts = ['shoulders', 'knees'];
let lyrics = ['head', ...parts, 'and', 'toes'];
let newarr = [...parts, ...lyrics];
// Spread문법은 기존 배열을 변경하지 않으므로 immutable하다.
オブジェクトで使用する場合 let obj1 = { foo: 'bar', x: 42};
let obj2 = { foo: 'baz', y: 13};
let clonedObj = { ...obj1 };
let mergedObj = { ...obj1, ...obj2 };
// clonedObj, mergedObj의 값은?
関数から残りのパラメータを取得 function myFun(a,, b, ...manyMoreArgs) {
console.log("a", a);
console.log("b", b);
console.log("manyMoreArgs", manyMoreArgs);
}
myFun("one", "two", "three", "four", "five", "six");
// 콘솔은 순서대로 찍히는가?
ぶんかいこうぞう
構造分解配分とは,Spread構文を用いて値を分解し,個々の値を変数に再配分するプロセスである.
Reference
この問題について(7月2日金曜日TIL), 我々は、より多くの情報をここで見つけました
https://velog.io/@hunsm4n/7월2일-금요일-TIL
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
let parts = ['shoulders', 'knees'];
let lyrics = ['head', ...parts, 'and', 'toes'];
// lyrics의 값은?
let parts = ['shoulders', 'knees'];
let lyrics = ['head', ...parts, 'and', 'toes'];
let newarr = [...parts, ...lyrics];
// Spread문법은 기존 배열을 변경하지 않으므로 immutable하다.
let obj1 = { foo: 'bar', x: 42};
let obj2 = { foo: 'baz', y: 13};
let clonedObj = { ...obj1 };
let mergedObj = { ...obj1, ...obj2 };
// clonedObj, mergedObj의 값은?
関数から残りのパラメータを取得 function myFun(a,, b, ...manyMoreArgs) {
console.log("a", a);
console.log("b", b);
console.log("manyMoreArgs", manyMoreArgs);
}
myFun("one", "two", "three", "four", "five", "six");
// 콘솔은 순서대로 찍히는가?
ぶんかいこうぞう
構造分解配分とは,Spread構文を用いて値を分解し,個々の値を変数に再配分するプロセスである.
Reference
この問題について(7月2日金曜日TIL), 我々は、より多くの情報をここで見つけました
https://velog.io/@hunsm4n/7월2일-금요일-TIL
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
function myFun(a,, b, ...manyMoreArgs) {
console.log("a", a);
console.log("b", b);
console.log("manyMoreArgs", manyMoreArgs);
}
myFun("one", "two", "three", "four", "five", "six");
// 콘솔은 순서대로 찍히는가?
構造分解配分とは,Spread構文を用いて値を分解し,個々の値を変数に再配分するプロセスである.
Reference
この問題について(7月2日金曜日TIL), 我々は、より多くの情報をここで見つけました https://velog.io/@hunsm4n/7월2일-금요일-TILテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol