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】オブジェクトのプロパティを変数にしたいなら[]で囲む

Last updated at Posted at 2023-12-07

はじめに

Reactの公式チュートリアルの問題を解いていたところ、オブジェクトのプロパティ名が[]で囲まれていました。

初めて見た書き方で何をしているかわからなかったため、調べました。

messages: {
  ...state.messages,
  [state.selectedId]: action.message,
},

Computed Property Names

この[]はEC2015から導入された、オブジェクトのプロパティを動的に生成するための構文です。

Computed Property Names、日本語だと「計算プロパティ名」という構文らしいです。

サンプル

計算プロパティ名を使用することで、プロパティ名に変数を設定できます。

let propertyName = 'UserName';

const profile = {
  age: 21,
  [propertyName]: 'taro',
};

console.log(profile.UserName); // taro

おわりに

"計算プロパティ名"という名称の意味がよくわからずに混乱しましたが、「計算した結果をプロパティに入れたよ」というような意味合いですね。

参考

  • 以下の「計算プロパティ名」の部分です。

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?