構造分解の割り当て

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』の動画を参考に勉強するために