console.log(new Date());
コンソールに文字列が表示されるのはどうしてですか?
オブジェクトでその動作を模倣するにはどうすればよいですか?
オブジェクトのプロトタイプにメソッドを提供.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
。