Node REPL中console.log打印Date对象时默认调用的方法是什么
解答
第一条console.log(new Date())执行时,确实存在对传入Date对象的方法调用行为,调用的是Date实例上的toISOString()方法。
- 你在REPL里看到的每段执行结果中,第一行是
console.log打印到输出流的内容,第二行的undefined是console.log函数本身的返回值,两段执行结果里的undefined都是正常的返回值表现。 - 第二条语句显式调用了
new Date().toString()再传入打印,输出的带星期、月份、GMT时区标识的长字符串,就是Date原型上toString()方法的标准返回格式。 - 直接传入Date实例时,Node.js的
console.log内部走util.inspect做格式化处理,针对原生Date实例的格式化逻辑不会调用通用的toString(),而是直接调用实例的toISOString()方法,最终输出ISO 8601规范的UTC时间字符串,也就是你看到的2022-06-21T14:52:30.675Z格式内容。
内容的提问来源于stack exchange,提问作者u936293
相关产品推荐
相关产品推荐

