【JavaScript ECMAScript】Temporal::Temporal.Instant.prototype.epochNanosecondsインスタンスアクセサプロパティの使い方
Temporal.Instant.prototype.epochNanosecondsインスタンスアクセサプロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Temporal.Instant.prototype.epochNanosecondsプロパティは、Temporal.Instantオブジェクトが表す特定の時点を、協定世界時(UTC)の1970年1月1日00:00:00(いわゆるエポック)からの経過時間をナノ秒単位で表現したBigInt値として保持するプロパティです。
このプロパティは、時間帯やカレンダーに依存しない、絶対的な時点をナノ秒レベルの極めて高い精度で数値化する目的で提供されます。Temporal.Instantオブジェクト自体が時間帯の影響を受けない特定の瞬間を表すため、epochNanosecondsはその瞬間を数値で一意に特定するための標準的な方法となります。取得される値は、エポックからの経過時間をナノ秒で示しており、エポックより前の時点であれば負の値となります。
JavaScriptの通常の数値型(Number)では表現しきれないほど大きな整数を扱う必要があるため、このプロパティは、より大きな整数を正確に扱えるBigInt型で値を返します。これにより、ナノ秒単位での厳密な時刻情報を損なうことなく、異なるInstantオブジェクト間の正確な比較を行ったり、システム間で高精度な時刻情報をやり取りしたりすることが可能になります。このプロパティは読み取り専用であり、値を直接設定することはできません。
構文(syntax)
1const instantInstance = Temporal.Instant.from('2023-10-27T10:00:00Z'); 2const nanoseconds = instantInstance.epochNanoseconds;
引数(parameters)
引数なし
引数はありません
戻り値(return)
BigInt
このプロパティは、エポックからの経過時間をナノ秒単位で表す大きな整数値を返します。これは、JavaScriptの標準的なNumber型では表現できない非常に大きな数値を扱うために、BigInt型で提供されています。