1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

JavaScriptの分割代入

Posted at

分割代入はオブジェクトや配列から値を取り出して変数に代入するための便利な構文です

オブジェクトの分割代入:

const person = {
  firstName: 'John',
  lastName: 'Doe',
  age: 30,
};

// オブジェクトのプロパティを変数に分割代入
const { firstName, lastName, age } = person;

console.log(firstName); // 'John'
console.log(lastName);  // 'Doe'
console.log(age);       // 30

配列の分割代入:

const colors = ['red', 'green', 'blue'];

// 配列の要素を変数に分割代入
const [firstColor, secondColor, thirdColor] = colors;

console.log(firstColor);  // 'red'
console.log(secondColor); // 'green'
console.log(thirdColor);  // 'blue'

関数の戻り値を分割代入:

function getCoordinates() {
  return [10, 20];
}

const [x, y] = getCoordinates();

console.log(x); // 10
console.log(y); // 20

また、デフォルト値を指定することもできます:

// 人物の情報を表すオブジェクトを作成します
const person = {
  firstName: 'John',   // 名前
  lastName: 'Doe',     // 姓
  age: 30,             // 年齢
};

// オブジェクトから firstName と age プロパティを取り出し、デフォルト値を設定します
const { firstName = 'Anonymous', age = 0 } = person;

// 分割代入した結果をコンソールに表示します
console.log(firstName); // 'John' (firstName プロパティが存在するので、'John' が表示されます)
console.log(age);       // 30 (age プロパティが存在するので、30 が表示されます)

// 人物の情報を表すオブジェクトを作成します
const person = {
  firstName: 'John',   // 名前
  lastName: 'Doe',     // 姓
  // age プロパティは省略されています
};

// オブジェクトから firstName と age プロパティを取り出し、デフォルト値を設定します
const { firstName = 'Anonymous', age = 0 } = person;

// 分割代入した結果をコンソールに表示します
console.log(firstName); // 'John' (firstName プロパティが存在するため、'John' が表示されます)
console.log(age);       // 0 (age プロパティが存在しないため、デフォルト値の 0 が表示されます)

// 人物の情報を表すオブジェクトを作成します
const person = {
  // firstName プロパティは省略されています
  lastName: 'Doe',     // 姓
  age: 30,             // 年齢
};

// オブジェクトから firstName と age プロパティを取り出し、デフォルト値を設定します
const { firstName = 'Anonymous', age = 0 } = person;

// 分割代入した結果をコンソールに表示します
console.log(firstName); // 'Anonymous' (firstName プロパティが存在しないため、デフォルト値の 'Anonymous' が表示されます)
console.log(age);       // 30 (age プロパティが存在するため、30 が表示されます)

分割代入は、オブジェクトや配列から必要なデータを簡潔に取り出すのに役立ちます。他にもネストしたオブジェクトや配列、さらには関数の引数としても利用できます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?