web-dev-qa-db-ja.com

Chrome Developer Tools Invoke Property Getter

すべてのプロパティ値を表示するには、クリックする必要があります。どうすれば修正できますか?

enter image description here

私が見ようとしているオブジェクトはこれ Query Object です。私が見ようとしているほとんどのArcgisオブジェクトでこれを行うようです。

18
ddschmitz

問題は、ゲッターを呼び出すと副作用が発生する可能性があることです。

class Dog {
  get paws() {
    console.log('paws!'); //side effect
    this.paws++; // side effect
    if(this.paws > 4) {
     throw Error('oh no'); // side effect
    }

    return this.paws;
  }
}

すべてのゲッターは、アプリのデバッグ中に、アプリの状態を変更したり、アプリを壊したりする可能性があります。それが、DevToolsがこれらのゲッターを手動で呼び出すように要求する理由です。ゲッターが静的な値を返したとしても、DevToolsはそれを知る方法がありません。

すべてのゲッターを呼び出して値の概要を簡単に知りたい場合は、ヘルパーを自分で作成できます。

class Dog {
 get _debug() {
  return {
    paws: this.paws,
    //...
  };
 }
}

これにより、他のすべてのゲッターを呼び出す新しいゲッターが追加され、(nクリックの代わりに)ワンクリックで値が得られます。

5
Konrad Dzwinel

あなたはそれをすべてのゲッターを呼び出すJSON stringifyを通して置くことを試みることができます:

console.log(JSON.parse(JSON.stringify(myObj)));

4
Patrick64