Javascriptオブジェクトのキーと変数宣言の関係


Reactを使っているとこんな書き方をすることがよくある。

const { width, height } = this.props;

 

これは書き換えるとこんな感じになる。

const width = this.props.width;

const height = this.props.height;

冗長だし倍近く文字数が増えてしまうので、この手の書き方をおさらいしてみます。

楽できるところは楽しよう。

サンプルと解説

最初の話を簡単に書くとこんな感じになる。

オブジェクトのキー(oo)をそのまま変数として宣言している。

 

逆に変数はオブジェクトにできる。

するとこう受け取ることもできる。

 

オブジェクトの一部を変数宣言できるとはいえ好きな変数名を付けたいこともある。

便利ではあるけどちょっとわかりにくい。

一見すると何を宣言しているのかわからず混乱するかもしれない。

 

他のよくある使い方としては関数の引数でオブジェクトの一部をとったり。

特定キーが必要なオブジェクトを作るときにはこんなトリッキーなのも見かける。

追記:ES6/ECMAScript2015 – Destructuring assignment

今回の内容は分割代入というみたいです。納得できるけどすぐに忘れそう。

配列でもできるのは気付かなかった、というかこんなのは見たことない。


コメントを残す

メールアドレスが公開されることはありません。