**文書の過去の版を表示しています。**
Invalid Dateを判定する
JavaScriptのDateクラスはインスタンス化時に指定した引数が不正な場合、Invalid Dateという Date型の値を返す。
ただしこれはDateクラスのインスタンスであることには変わりがないので、True判定されてしまう。
またJavascriptではInvalid Dateを判定する方法は存在しないので、別の方法を用意する必要がある。
Date.getTime()の返り値を利用する
const d1 = new Date('2020-10-10'); d1.getTime() // 1602288000000 const d2 = new Date('aaa'); d2.getTime() // NaN
Invalid Dateに対して、getTimeメソッドを適用するとNaNが返値される。
これを利用して、Invalidか判定する関数を実装。
function isInvalidDate(date) { return Number.isNaN(new Date(date).getTime()); }
これで引数がInvalidの場合はTrueを返値する。