gpt4 book ai didi

javascript - 为什么 'new Date() * 1' 会产生 Javascript 时间戳?

转载 作者:行者123 更新时间:2023-11-29 18:05:55 30 4
gpt4 key购买 nike

我有以下获取时间戳的方法:

new Date().valueOf()
new Date().getTime()
Date.parse(new Date())
new Date() * 1

但我很困惑:为什么我可以使用最后一种方法获得时间戳?

最佳答案

这是因为 Date() 对象可以直接转换为数字(时间戳),当对其应用数学运算符时,JavaScript 会为我们转换它。

获取时间戳的更快方法是使用 Unary Plus:

+new Date();

The unary plus operator precedes its operand and evaluates to its operand but attempts to converts it into a number, if it isn't already. Although unary negation (-) also can convert non-numbers, unary plus is the fastest and preferred way of converting something into a number, because it does not perform any other operations on the number.

MDN's Unary Plus documentation.

这同样适用于字符串 "1"* 1 等于 1 因为 JavaScript 自动将 "1" 转换为数字,因为存在乘法运算符 (*)。

关于javascript - 为什么 'new Date() * 1' 会产生 Javascript 时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31271205/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com