web-dev-qa-db-fra.com

Convention de dénomination des clés d'objet const dans ES6

Existe-t-il une convention de dénomination recommandée pour les noms de clés dans un objet const dans es6? Je n'ai pas pu trouver de ressource indiquant si elles doivent être en majuscules ou en minuscules.

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

contre

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

Les exemples de cet article MDN montrent les deux styles, donc peut-être que les deux sont acceptables.

20
mralexlau

Selon Google, ce serait tout en majuscules. Par expérience, la plupart des autres langages de programmation ont toutes les majuscules, donc je suggère d'utiliser cela.

Utilisation NAMES_LIKE_THIS pour les valeurs constantes.

Utilisation @const pour indiquer un pointeur constant (non écrasable) (une variable ou une propriété).

Guide javascript de Google https://google.github.io/styleguide/javascriptguide.xml

11
Murf

REMARQUE: sachez que la réponse acceptée contient un lien vers un guide de style Google obsolète

C'est Nice (littéraux chaîne ou littéraux entiers):

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

mais...

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

Google JavaScript Style Guide dit:

Déclarez toutes les variables locales avec const ou let. Utilisez const par défaut, sauf si une variable doit être réaffectée. Le mot clé var ne doit pas être utilisé.

Chaque constante est une propriété statique @const ou une déclaration const module-local, mais toutes les propriétés statiques @const et les constantes module-local ne sont pas des constantes. Avant de choisir un cas constant, demandez-vous si le champ ressemble vraiment à une constante profondément immuable. Par exemple, si l'un des états observables de cette instance peut changer, ce n'est certainement pas une constante. L'intention de ne jamais muter l'objet n'est généralement pas suffisante.

JavasScript.info dit:

... les constantes nommées majuscules ne sont utilisées que comme alias pour les valeurs "codées en dur".

15
SandroMarques

Les conventions de dénomination sont partout, je n'ai toujours pas encore décidé ma préférence mais pour ajouter à la discussion, c'est ce que Airbnb JavaScript Style Guide dit (voir le dernier exemples):

// 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
Daniel Sokolowski

Google a recommandé une fois ce qui suit:

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

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

  • Utilisation NAMES_LIKE_THIS pour des valeurs constantes .
  • Utilisation @const pour indiquer un pointeur constant (non écrasable) (une variable ou une propriété).
  • N'utilisez jamais le mot clé const car il n'est pas pris en charge dans Internet Explorer.

Cependant, les mises à jour directives de style ont des recommandations différentes.

5
Dan Wilson