Comment puis-je accéder à l'Objet.prototype de la méthode dans la suite logique?

Je suis en utilisant la logique suivante pour obtenir l'i18n chaîne de la clé donnée.

export function i18n(key) {
  if (entries.hasOwnProperty(key)) {
    return entries[key];
  } else if (typeof (Canadarm) !== 'undefined') {
    try {
      throw Error();
    } catch (e) {
      Canadarm.error(entries['dataBuildI18nString'] + key, e);
    }
  }
  return entries[key];
}

Je suis en utilisant ESLint dans mon projet. J'obtiens l'erreur suivante:

De ne pas accéder à l'Objet.prototype de la méthode 'hasOwnProperty' partir de l'objet cible.
C'est un " pas-prototype-les builtins' erreur.

Comment puis-je modifier mon code pour résoudre cette erreur ? Je ne veux pas désactiver cette règle.

  • Vous devriez lire la documentation. Il y a des exemples de code correct ~ eslint.org/docs/rules/no-prototype-builtins
  • Vous suggérons d'utiliser Object.hasOwnProperty(entries,key) ?
  • Je vais voter pour fermer cette question hors-sujet, car il est répondu dans la documentation (tl:dr ~ RTFM)
  • Le code fonctionne bien. C'est un peluchage erreur. Je veux juste modifier la syntaxe de sorte que le peluchage la règle est satisfaite.
  • Qui stringify entries, ignorer key, et de vérifier si Object a une propriété avec cette chaîne.
InformationsquelleAutor booYah | 2016-09-02