web-dev-qa-db-ja.com

ES6のconstオブジェクトキーの命名規則

Es6のconstオブジェクト内のキー名に推奨される命名規則はありますか?大文字にするか小文字にするかを示すリソースを見つけることができませんでした。

const COLOR_CODES = {
  BLUE: 1,
  RED: 1
};

const COLOR_CODES = {
  blue: 1,
  red: 1
};

このMDN記事では両方のスタイルが示されているため、両方とも受け入れられる可能性があります。

20
mralexlau

Googleによると、それはすべて上限です。経験から言えば、他のほとんどのプログラミング言語にはすべて上限があるため、それを使用することをお勧めします。

つかいます NAMES_LIKE_THISは定数値です。

つかいます @constは、定数(上書き不可)ポインター(変数またはプロパティ)を示します。

Google JavaScriptガイドhttps://google.github.io/styleguide/javascriptguide.xml

11
Murf

注:受け入れられた応答には、廃止されたGoogleスタイルガイドへのリンクがあることに注意してください

これはニースです(文字列リテラルまたは整数リテラル):

const PI = 3.14;
const ADDRESS = '10.0.0.1';

しかし...

const myObject = { key: 'value' };
const userSuppliedNumber = getInputNumber()

Google JavaScriptスタイルガイド 言います:

Constまたはletを使用して、すべてのローカル変数を宣言します。変数を再割り当てする必要がない限り、デフォルトでconstを使用します。 varキーワードは使用しないでください。

すべての定数は@const静的プロパティまたはモジュールローカルconst宣言ですが、すべての@const静的プロパティおよびモジュールローカルconstは定数ではありません。定数のケースを選択する前に、フィールドが本当に不変の定数のように感じるかどうかを検討してください。たとえば、そのインスタンスの観測可能な状態のいずれかが変化する可能性がある場合、ほぼ確実に一定ではありません。通常、オブジェクトを変更しないだけでは十分ではありません。

JavasScript.info 言う:

...大文字の名前付き定数は、「ハードコードされた」値のエイリアスとしてのみ使用されます。

15
SandroMarques

命名規則はいたるところにありますが、私はまだ 私の好み に決めていませんが、議論に追加することはこれです Airbnb JavaScript Style Guide が言います(最後を参照)例):

// bad
const PRIVATE_VARIABLE = 'should not be unnecessarily uppercased within a file';

// bad
export const THING_TO_BE_CHANGED = 'should obviously not be uppercased';

// bad
export let REASSIGNABLE_VARIABLE = 'do not use let with uppercase variables';

// ---

// allowed but does not supply semantic value
export const apiKey = 'SOMEKEY';

// better in most cases
export const API_KEY = 'SOMEKEY';

// ---

// bad - unnecessarily uppercases key while adding no semantic value
export const MAPPING = {
  KEY: 'value'
};

// good
export const MAPPING = {
  key: 'value'
};
5

Googleはかつて以下を推奨していました。

const COLOR_CODES = {
  BLUE: 1,
  RED: 1
};

参照: https://google.github.io/styleguide/javascriptguide.xml#Constants

  • つかいます NAMES_LIKE_THIS定数
  • つかいます @constは、定数(上書き不可)pointer(変数またはプロパティ)を示します。
  • Internet Explorerではサポートされていないため、constキーワードを使用しないでください。

ただし、更新された スタイルガイドライン にはさまざまな推奨事項があります。

5
Dan Wilson