ES6クラスインスタンスのクラス名を取得する 質問する

ES6クラスインスタンスのクラス名を取得する 質問する

ES6クラスインスタンスからクラス名を取得する「調和のとれた」方法はあるでしょうか?

someClassInstance.constructor.name

現在、私は Traceur の実装を頼りにしています。また、Babel にはポリフィルがありますがFunction.name、Traceur にはないようです。

まとめると、ES6/ES2015/Harmony では他に方法はなく、ES.Next でも現時点では何も期待されていません。

これは、縮小されていないサーバー側アプリケーションには便利なパターンを提供する可能性がありますが、ブラウザ/デスクトップ/モバイル向けのアプリケーションでは不要です。

バベル用途core-jsポリフィルするFunction.nameただし、Traceur および TypeScript アプリケーションの場合は、必要に応じて手動で読み込む必要があります。

ベストアンサー1

someClassInstance.constructor.nameまさに正しい方法です。トランスパイラはこれをサポートしていないかもしれませんが、仕様ではこれが標準的な方法です。(nameClassDeclarationプロダクションで宣言された関数のプロパティは、14.5.15、ステップ 6。

おすすめ記事