【JavaScript ECMAScript】Date::Date.prototype.valueOfインスタンスメソッドの使い方
Date.prototype.valueOf()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Date.prototype.valueOf()メソッドは、Dateオブジェクトが持つプリミティブ値を取得するメソッドです。このメソッドは、指定されたDateオブジェクトが表す日付と時刻を、協定世界時(UTC)の1970年1月1日0時0分0秒からの経過ミリ秒数として、数値(Number型)で返します。
主にJavaScriptのエンジン内部で、Dateオブジェクトが数値として評価される必要がある際に自動的に呼び出されます。例えば、2つのDateオブジェクト間で引き算を行う場合や、比較演算子(>、<、==など)を使用してDateオブジェクトを比較する場合に、このvalueOf()メソッドが暗黙的に実行され、各Dateオブジェクトのミリ秒数表現が取得されます。これにより、数値に基づいた正確な比較や計算が可能になります。
開発者が明示的にこのメソッドを呼び出すことも可能ですが、その主な目的は、DateオブジェクトをNumber型に変換し、その数値表現を利用することにあります。例えば、Number(myDate)のようにNumberコンストラクタにDateオブジェクトを渡した場合も、内部的にはvalueOf()メソッドが呼び出されます。
戻り値は常にNumber型の数値であり、この数値は時間軸上の絶対的な時点を表すため、時間の計算や比較において非常に重要です。Dateオブジェクトの文字列表現が必要な場合は、toString()やtoLocaleString()、toISOString()などの別のメソッドを使用します。valueOf()は、Dateオブジェクトを数値として扱うための標準的な手段として機能します。
構文(syntax)
1const dateObj = new Date(); 2const primitiveValue = dateObj.valueOf();
引数(parameters)
引数なし
引数はありません
戻り値(return)
number
Date.prototype.valueOf()は、Dateオブジェクトの値をエポックからのミリ秒数で表した数値(number型)を返します。