toJSON
うまくいきませんが、プロトタイプ オブジェクトに列挙不可能な関数を定義しようとしています。ECMAScript 5 に似たものを期待していますtoJSON
:
Object.defineProperty(obj, prop, { enumerable: false });
ただし、これはメソッドとしてアクセスできないプロパティとして定義します。
[編集: ニックは間違っています。メソッドとしてアクセスできます。彼の間違いは、この質問には示されていないコードにありました。詳細については、以下の回答に関する彼のコメントを参照してください。]
複雑なオブジェクトを介して関数を再帰的に適用できるように、すべてのプリミティブ型 ( String
、Number
、Boolean
、Array
および)のプロトタイプで定義することを計画していたので、列挙不可能な方法で関数を定義できることを望んでいました。Object
ここでの最終目標は、ネストされたコレクションを含むバックボーン モデル/コレクションを再帰的に JSON 化できるようにすることです。
合計すると、2 つの主な質問があると思います。
- プロトタイプで列挙不可能な関数を定義することは可能ですか? もしそうなら、どのように?
- ネストされたバックボーン モデルを JSON 化するより良い方法はありますか?