我一直在用 JSFiddle 来解决this https://www.freecodecamp.com/challenges/friendly-date-rangesFreeCodeCamp 中的问题。当我使用日期作为字符串时(即没有“新”):
Case 1:
function isSameDay (dtFrom, dtTo) {
return dtFrom == dtTo
}
let today = Date()
let tomorrow = Date()
console.log(today)
console.log(tomorrow)
console.log(isSameDay(today, tomorrow))
isSameDay 返回true。但是,当我使用 Date 作为构造函数(使用“new”)时:
Case 2:
function isSameDay (dtFrom, dtTo) {
return dtFrom == dtTo
}
let today = new Date()
let tomorrow = new Date()
console.log(today)
console.log(tomorrow)
console.log(isSameDay(today, tomorrow))
isSameDay 返回false。但是(!),当我添加一元运算符“+”时:
Case 3:
function isSameDay (dtFrom, dtTo) {
return dtFrom == dtTo
}
let today = + new Date()
let tomorrow = + new Date()
console.log(today)
console.log(tomorrow)
console.log(isSameDay(today, tomorrow))
isSameDay 返回true。我理解情况 1 和情况 3 返回 true,因为它们只是相同的字符串和相同的毫秒值。
为什么情况2会返回false?