私のコードにhasOwnPropertyをたくさん使用する必要があり、それは大変長く、キャメルケースには入力する必要があります。私はちょうどmyObj.has('x')
と言うことができるようにしたかったが、Object.prototypeでhopのエイリアスを作成しようとしたときに、 'has'がfor..inループで列挙されるようになりました。私が望むものを得るための最良の方法は何ですか?私はちょうどhas(obj, prop)
のように動作するグローバルな機能を作ることができることを意味するが、私はドットフォーマットがより好きであり、どのようなトリックJavaScriptがそれを持っている可能性があるか知りたいと思うので、私は提案を探している。hasOwnPropertyの名前を変更して列挙を防止します
更新:これはかなりハッキーですが、String.prototype.in = function(obj){return obj.hasOwnProperty(this)}
OKですか?それで、私はif ('x'.in(myObj)) {...
と言うことができます。残念ながら、hasOwnPropertyのエイリアシングではなく、別のレイヤーの関数呼び出しを追加しますが、構文が気に入っています。
ありがとうございます。前にdefinePropertyを使ってみましたが、間違って使っていたと思います – Moss