通常,当我调用new
关键字时,它绝对会输出一个对象。例如:
function Time(){
this.now = new Date();
}
console.log(new Time());
//{now : 'Tue Aug 26 2014 01:52:15 GMT+0700 (SE Asia Standard Time)'}
new Date()
如何成为字符串值?
答案 0 :(得分:7)
简短回答:
不是。
在您的控制台中输入:
typeof new Date()
正确返回"object"
但是,该对象作为名为toString()
的方法返回,它将返回...一个字符串。
var date = new Date();
console.log(typeof date)
console.log(date.toString())
object
Mon Aug 25 2014 14:58:28 GMT-0400 (Eastern Daylight Time)
编辑:在JavaScript API的奇怪转折中,typeof Date()
确实返回"string"
。请注意丢失的new
关键字。
答案 1 :(得分:1)
new Date()
会按预期返回一个对象,而不是一个字符串。
> typeof new Date()
"object"
> typeof "some string"
"string"
console.log()
必须生成一个字符串。如果要记录的对象提供了字符串化方法(toString
),console.log()
将使用它来生成可读的日志条目。