テーマ、知りたいこと
JavaScriptの分割代入を必須化することのメリットは何ですか?
分割代入は、以下のように変数を個別定義するよりかは行数が減るというメリットを享受するために分割代入を利用して書くことができます。
javascript
1// これが 2const obj = { a: 1, b: 2 } 3const a = obj.a 4const b = obj.b 5 6// こうなる。1行省略できた。 7const obj = { a: 1, b: 2 } 8const { a, b } = obj
しかし、上記のように個別変数を定義することは正直なところメリットではない気がしています。
「objのaというプロパティ」の意味合いが消えてしまう事がよくないと思っています。
コーディング規約で「分割代入を必ずする」と必須化してしまうのは良くないと思います。
場合によって使い分ける程度で良いと思います。
そもそも、上記のような使い方で個別の変数に別けるメリットがわかりません。
変数にあえて別けたいときは以下のように何らかの計算した結果を代入する時ではないでしょうか?
const a = obj.a * 2 const b = obj.b * 2
または、あまりにもネストが深くて書くのが面倒になったときなどに使うのも可読性を上げるためにありだと思います。
// posiitonを取り出すために毎回a ~ g まで書かないといけないのが面倒 const x = obj.a.b.c.d.e.f.g.position.x const y = obj.a.b.c.d.e.f.g.position.y // この書き方はありだと思う const { x: userPositionX, y: userPositionY } = obj.a.b.c.d.e.f.g.position
また、以下のように obj を合体させる時に使うのは分割代入を使うときの良い例だと思っています。
1つ1つ書くのは面倒ですから。
javascript
1const obj1 = { a: 1, b: 2 } 2const obj2 = { c: 3, d: 4 } 3const obj3 = { ...obj1, ...obj2 }
みなさんはJavaScriptの分割代入を必須化させる事についてどう思いますか?
ほとんどすべてのコードを分割代入で書かれたコードがあり、私はメリットが理解できない状態です。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。