2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

JavaScript 引数がnullなDateオブジェクト

Last updated at Posted at 2019-05-04

jsのdateの引数にnullが来た時、うざいのでちょっとまとめてみました。

jsのDateの挙動

引数に何も渡さなければ現在のDateが返ってきます。

new Date()
// Sat May 04 2019 11:28:52 GMT+0900 (日本標準時)

じゃあ、nullを引数に渡したら何もかえってこないな!!と思っていると...

new Date(null)
// Thu Jan 01 1970 09:00:00 GMT+0900 (日本標準時)

ふざけんなよと数々の犠牲になった人々の声が聞こえます。

nullの時、表示しないようにしたいなら

Dateの引数にnullがきた時は値を返さない解決策のひとつとしてNumber()にキャストしてやります。

const nullDate = new Date(null)
Number(nullDate)
// 0
const currentDate = new Date()
Number(currentDate)
// 1556937299876
const jsNullDate = new Date(null)
Number(jsNullDate)
// 0

条件文で0(falsyな値)となるのでこのときに値を返さないようにif文や三項演算子など利用すればいいでしょう。

解決策その2としてそもそもnullが返ってくるとわかった段階でnew Dateに値を渡す処理を止めるなどしたほうがシンプルで良いかと思います。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?