airbnb / airbnb/javascript

Isn't section 5.1 "Use object destructuring" conflicting with 3.3 "Use object method shorthand" ?

オープン
#3,136 コメント 11 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
JavaScript
スター
148k
フォーク
26.6k
PR マージ指標
30日以内にマージされた PR はありません

説明

In section 5.1 it is stated the following:

> Use object destructuring when accessing and using multiple properties of an object.

In section 3.3, it is stated the following:

> Use object method shorthand.

Let's look at the following example:

```js
const foo = {
bar: 5,
// applying 3.3
computeSomething() {
return this.bar + 5;
}
};

// applying 5.1
const {bar, computeSomething} = foo;

console.log(bar);

computeSomething();
```

The last instruction throws the following error:

> TypeError: Cannot read properties of undefined (reading 'bar')

So, applying both 3.3 and 5.1 can lead to an incorrect code. Either we have to use arrow functions in objects definition; or we have to not use destructuring; but both 3.3 and 5.1 can't be recommended together without creating potential issues. At least, that's what I'm feeling.

What do you think? Did I miss the point or a clarification in the specs about that?

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

スタイルガイドのセクション3.3と5.1を読み、その後、issueにあるobject-methodとdestructuringの例を再現してください。コメントの議論を確認して合意された解釈を把握し、ガイダンスが適用される場合を示す例を添えて、明確で矛盾のない推奨事項を文書化してください。2つのセクションが安全でない組み合わせた使用を示唆しなくなれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript
領域
documentation
issue の種類
ドキュメント
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。