0

たとえば、次のコンストラクターがあります。

function MyType(){

    this.someProp = 'someText';

};

新しいインスタンスを作成します:

var myVar = new MyType();

今、このオブジェクトのタイプを確認したい...

console.log(typeof(myVar));    //object
console.log(myVar.toString()); //[object Object]

の代わりに、typeofまたはデフォルトのtoStringメソッドが を返す方法はありますか。MyTypeobject

4

2 に答える 2

2

いいえ、 の動作をオーバーライドすることはできませんtypeof仕様で定義されており、可能な戻り値のセット数があります。オペランドの「型」を使用します。これは、null、未定義、文字列、ブール値、数値、およびオブジェクトのいずれかのみにすることができます。

ただし、instanceof動作するはずです:

console.log(myVar instanceof MyType); // true

サイドノート...typeofは関数ではなく演算子なので、括弧で囲む必要はありません。

于 2013-02-01T16:30:47.553 に答える
1

いいえ、Javascriptにはカスタムタイプはありません。9つのネイティブコンストラクタがあります。

  • 番号()
  • 弦()
  • Boolean()
  • 物体()
  • 配列()
  • 働き()
  • 日にち()
  • RegExp()
  • エラー()

3つのプリミティブ型もあります。

  • ストリング
  • 番号
  • ブール値
于 2013-02-01T16:36:03.680 に答える