構造分解の割り当て
16356 ワード
💡 定義#テイギ#
構造分解割り当て構文は、配列またはオブジェクトのプロパティを分解することによって変数に値を含める式です.
💡 ぶんかいアレイこうぞう
ex1 )
let users = ['Mike', 'Tom', 'Jane'];
let [user1, user2, user3] = users;
上のユーザー・リストのセクションは、次のとおりです.let [user1, user2, user3]
意味は.let user1 = users[0];
let user2 = users[1];
let user3 = users[2];
に等しいconsole.log(user1); // 'Mike'
console.log(user2); // 'Tom'
console.log(user3); // 'Jane'
ex2 )let str = "Mike-Tom-Jane";
let [user1, user2, user3] = str.split('-');
こちらです.str.split('-');
split()
カット文字列により配列を返す['Mike', 'Tom', 'Jane']
この結果をuser 1,2,3に入れます.console.log(user1); // 'Mike'
console.log(user2); // 'Tom'
console.log(user3); // 'Jane'
ex 3)デフォルトlet [a, b, c] = [1, 2];
console.log(c); // undefind
let [a=2, b=3, c=4] = [1, 2];
console.log(a); // 1
console.log(b); // 2
console.log(c); // 4
ex 4)一部の戻り値を無視let [user1, ,user2] = ['Mike', 'Tom', 'Jane', 'Tony'];
console.log(user1); // 'Mike'
console.log(user2); // 'Jane'
スペースとカンマを使用して不要な値を無視第二に、第四の要素が割り当てられていないところは、省略する.
ex 5)使用理由
let a = 1;
let b = 2;
aにb値、bにa値を入れたい場合はどうすればいいですか?let a = 1;
let b = 2;
let c = a; // 임시 변수
a = b;
b = c;
この場合、構造分解割当置換を使用できます.[a, b] = [b, a];
💡 オブジェクト構造の分解
ex1 )
let user = {name: 'Mike', age: 30};
let {name, age} = user;
console.log(name); // 'Mike'
console.log(age); // 30
こちらです.let {name, age} = user;
意味は.let name = user.name;
let age = user.age;
に等しい並びと似ていますが、少し違うなら順番は気にならない!
let {age, name} = user;
このように置き換えると、動作は同じです.ex 2)新しい変数名の指定
let user = {name: 'Mike', age: 30};
//let {name, age} = user;
let {name: userName, age: userAge} = user;
console.log(userName); // 'Mike'
console.log(userAge); // 30
Propertyのキー値を無条件に使用する必要はありません.ex 3)デフォルト
let user = {name: 'Mike', age: 30};
let {name, age, gender} = user;
console.log(gender); // undefined
userオブジェクトに性別がない場合、デフォルトは男性です.let user = {
name: 'Jane',
age: 18,
gender: 'female'
}
let {name, age, gender='male'} = user;
console.log(gender); // 'female'
デフォルト値は、オブジェクトから受信した値がundefined
の場合にのみ使用されます.YOUTUBE『CODING ANMA』の動画を参考に勉強するために
Reference
この問題について(構造分解の割り当て), 我々は、より多くの情報をここで見つけました https://velog.io/@serim22/구조-분해-할당テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol