`type Timestamp = number`, 为何不直接这样定义?

作者站长头像
站长
· 阅读数 15

我看到有一个Type这样定义:

export type Timestamp = ReturnType<typeof Date.prototype.getTime>;

然后我鼠标移动到: Timestamp上面,显示的是:

type Timestamp = number

然后我移动到:getTime,显示的也是:

(method) Date.getTime(): number

请问下,如果:type Timestamp = number, 为何不直接这样定义,而要使用:

export type Timestamp = ReturnType<typeof Date.prototype.getTime>;
回复
1个回答
avatar
test
2024-09-07

可以。

但前者我在看定义的时候,可以一眼看出它表示的是毫秒级时间戳,因为 Date.prototype.getTime 返回的是毫秒。

type Timestamp = number 我只能看出它是时间戳,但具体是毫秒级还是秒级的,要么还得写注释,要么就得结合代码上下文去猜。

这就是所谓的 Self-Documenting Code。

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容