JavaScriptのDate.@@toPrimitive()関数とは?日付オブジェクトをプリミティブ値に変換する方法
JavaScriptのDate.@@toPrimitive()関数は、Dateオブジェクトをプリミティブ値に変換するために使用されます。このメソッドはSymbol.toPrimitiveプロパティを通じて呼び出され、引数に指定したヒント(hint)に応じて、文字列や数値など適切なプリミティブ値を返します。
ヒントの種類と戻り値
- 「default」:日付を表す文字列が返されます。
- 「number」:1970年1月1日00:00:00 UTCからの経過ミリ秒数(タイムスタンプ)が数値で返されます。
- 「string」:「default」と同様に、日付を表す文字列が返されます。
サンプルコード
以下は、JavaScriptで日付をプリミティブ値に変換するサンプルコードです。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.sample {
font-size: 18px;
font-weight: 500;
}
</style>
</head>
<body>
<h1>JavaScript Date.@@toPrimitive() 関数</h1>
<div class="sample"></div>
<button class="Btn">ここをクリック</button>
<h3>上のボタンをクリックすると、日付がプリミティブ値として表示されます</h3>
<script>
let fillEle = document.querySelector(".sample");
let date = new Date();
let primitiveDef = date[Symbol.toPrimitive]("default");
let primitiveNum = date[Symbol.toPrimitive]("number");
document.querySelector(".Btn").addEventListener("click", () => {
fillEle.innerHTML += "ヒント = default : " + primitiveDef + "<br>";
fillEle.innerHTML += "ヒント = number : " + primitiveNum;
});
</script>
</body>
</html>
実行結果

「ここをクリック」ボタンをクリックすると、以下のようにヒントごとの変換結果が表示されます。

ヒントに「default」を指定した場合は日付を表す文字列が、「number」を指定した場合は経過ミリ秒数(タイムスタンプ)が数値として返されることが確認できます。
-
JavaScriptのDate.toDateString()メソッドの使い方を徹底解説
Dateオブジェクトは、JavaScript言語に標準で組み込まれているデータ型です。Dateオブジェクトは、以下のようにnew Date()を使って生成します。一度Dateオブジェクトを作成すると、さまざまなメソッドを使ってそのオブジェクトを操作できます。ほとんどのメソッドは、ローカル時間またはUTC(協定世界時・グリニッジ標準時)のいずれかを基準として、オブジェクトが持つ年、月、日、時、分、秒、ミリ秒の各フィールドを取得・設定するためのものです。その中でもtoDateString()メソッドは、時刻情報を除いた「日付部分のみ」を文字列として返すメソッドです。構文toDateString()
-
JavaScriptのシンボル:@@toPrimitive(Symbol.toPrimitive)メソッドの使い方
Symbol.toPrimitive(@@toPrimitive)とは JavaScriptのSymbol.toPrimitive(@@toPrimitive)は、オブジェクトがプリミティブ値(数値や文字列など)へ変換される場面で自動的に呼び出される組み込みシンボルです。このメソッドをあらかじめ定義しておくことで、型変換の挙動を自由にカスタマイズできます。 構文 Symbol()[Symbol.toPrimitive](hint) 引数 hint には、変換後の型を示す値(たとえば number や string など)を指定します。これは省略可能な引数です。 以下は、symbol.@@to