Widget私がクラスを書くとしましょう。
function Widget() {}
私のクラスを使用している誰かがWidgetインスタンスを に送信しますconsole.log。
console.log(new Widget()); // ▶ Widget
そのオブジェクトがコンソールにどのように表示されるかを制御する方法はありますか? 以下がどのように表示されるかに注目してください。
console.log(window.location) // ▶ Location
console.log(document) // ▶ #document
console.log(document.body) // ▶ <body class="ask-page">…</body>
Widgetインスタンスが に送信されたときに、より有用な情報を表示したい場合はどうすればよいconsole.logですか? 独自の実装に置き換えることもできると思いconsole.logますが、もっとエレガントなものを探しています。console.log出力を制御できる特定の機能を検索しますか?
更新:何を達成しようとしているのかと尋ねる人もいます。これが簡単な例です。プロパティ アクセサーの作成に使用するUrlBuilderクラスを JavaScript で作成しました。Object.defineProperty(これは回避できない制約です。) 問題は、誰かが にUrlBuilderインスタンスを送信するたびconsole.logに、URL を出力したいということです。ただし、代わりに が表示されます▶ UrlBuilder。また、開閉用三角形を展開しても、プロパティ アクセサーが__proto__プロパティ内にリストされているため、有用なものは何も表示されません。これは空で役に立たないオブジェクトのように見えます。URL を文字列として表示する方が便利です。