0

console.log(new Date());コンソールに文字列が表示されるのはどうしてですか?

オブジェクトでその動作を模倣するにはどうすればよいですか?

4

1 に答える 1

3

オブジェクトのプロトタイプにメソッドを提供.toString()します。

var Demo = function(){};
Demo.prototype.toString = function(){ return "Demo string"; };

var test = new Demo();
console.log(test); // results in "Demo string"

==左辺と右辺が同じ型でない場合、タイプセーフでない比較演算子が状況によってはこの関数を使用するため、これによりコードの動作がわずかに変わる可能性があることに注意してください。

if(test == "Demo String"){
    console.log("Equal!");
}
if(test !== "Demo String"){
    console.log("But not same type!");
}

ただし、console.log まだ標準化されていないようで、統一された解決策はありません。console.log(test + "")の呼び出しをトリガーするために引き続き使用できることに注意してくださいtoString

于 2013-01-01T21:36:35.050 に答える