JavaScript の型変換:`+new Date` で日付をミリ秒に変換
JavaScript の +new Date のプラス記号
型変換
プラス記号は、数値型以外の値を数値に変換するために使用できます。例えば、+new Date
は Date オブジェクトをミリ秒単位のタイムスタンプに変換します。
const date = new Date();
console.log(typeof date); // "object"
console.log(typeof (+date)); // "number"
console.log(+date); // 1649411200000
単項演算子
プラス記号は単項演算子としても使用できます。単項演算子として使用する場合、プラス記号は数値の前に置かれ、その数値の符号を変換します。
const date = new Date();
console.log(date); // Sun Apr 03 2022 12:00:00 GMT+0900 (JST)
console.log(-date); // Sat Apr 02 2022 23:59:59 GMT+0900 (JST)
算術演算子
プラス記号は、数値を加算するための算術演算子としても使用できます。
const date1 = new Date();
const date2 = new Date();
console.log(date1 + date2); // NaN
+new Date
の場合
+new Date
の場合、プラス記号は主に型変換のために使用されます。つまり、Date オブジェクトをミリ秒単位のタイムスタンプに変換します。
注意点
+new Date
は、Date オブジェクト以外の値に使用すると、NaN を返す可能性があります。+new Date
は、Date オブジェクトの値を変更しません。+new Date
は、Date オブジェクトをミリ秒単位のタイムスタンプに変換します。これは、Date オブジェクトを比較したり、算術演算に使用したりする場合に役立ちます。
型変換
const date = new Date();
console.log(typeof date); // "object"
console.log(typeof (+date)); // "number"
console.log(+date); // 1649411200000
単項演算子
const date = new Date();
console.log(date); // Sun Apr 03 2022 12:00:00 GMT+0900 (JST)
console.log(-date); // Sat Apr 02 2022 23:59:59 GMT+0900 (JST)
算術演算子
const date1 = new Date();
const date2 = new Date();
console.log(date1 + date2); // NaN
// Date オブジェクトを比較
const date1 = new Date();
const date2 = new Date();
console.log(date1 === date2); // false
// Date オブジェクトを算術演算に使用
const date1 = new Date();
const date2 = new Date();
const date3 = date1 + date2; // NaN
Date.prototype.getTime() メソッド
Date.prototype.getTime()
メソッドは、Date オブジェクトをミリ秒単位のタイムスタンプに変換します。
const date = new Date();
const timestamp = date.getTime();
console.log(timestamp); // 1649411200000
Date.now() メソッド
Date.now()
メソッドは、現在の日時のミリ秒単位のタイムスタンプを取得します。
const timestamp = Date.now();
console.log(timestamp); // 1649411200000
new Date().valueOf() メソッド
new Date().valueOf()
メソッドは、Date オブジェクトをミリ秒単位のタイムスタンプに変換します。
const timestamp = new Date().valueOf();
console.log(timestamp); // 1649411200000
+new Date
以外にも、Date.prototype.getTime()
メソッド、Date.now()
メソッド、new Date().valueOf()
メソッドを使用して、Date オブジェクトをミリ秒単位のタイムスタンプに変換することができます。
どの方法を使用するかは、状況によって異なります。
- 互換性のために、
new Date().valueOf()
メソッドを使用する必要がある場合があります。 - 現在の日時のタイムスタンプを取得する場合は、
Date.now()
メソッドを使用するのが最も簡単です。 - 多くの場合、
Date.prototype.getTime()
メソッドが最も簡潔で効率的な方法です。
javascript syntax