【JavaScript ECMAScript】Temporal::Temporal.Duration.prototype.withインスタンスメソッドの使い方
Temporal.Duration.prototype.with()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Temporal.Duration.prototype.with()メソッドは、Temporal.Durationオブジェクトのインスタンスに対して、その期間の特定の部分を新しい値で変更した、新しいTemporal.Durationオブジェクトを生成するメソッドです。Temporal.Durationオブジェクトは、年、月、日、時間、分、秒、ミリ秒、マイクロ秒、ナノ秒といった時間の期間を表すために使用されます。このメソッドは、既存のDurationオブジェクトが保持するこれらのフィールドのうち、指定された部分を新しい値に置き換えたい場合に利用します。
具体的には、引数として、変更したいフィールドの名前と新しい値をプロパティとして持つプレーンオブジェクトを渡します。例えば、ある期間オブジェクトの年数を「5」に変更したい場合は、{ years: 5 } のように指定します。このメソッドの非常に重要な特徴は、元のTemporal.Durationオブジェクト自体は一切変更されないという点です。メソッドを実行すると、変更が適用された新しいTemporal.Durationオブジェクトが作成されて返されるため、元の期間データが予期せず変更される心配がありません。
この設計により、プログラムの挙動をより予測しやすくなり、データの一貫性を保ちながら柔軟に期間を操作することが可能になります。既存の期間オブジェクトを基に、特定の要素だけを変更した新しい期間オブジェクトを効率的に作成したい場合に、このwith()メソッドは非常に役立ちます。
構文(syntax)
1const oldDuration = Temporal.Duration.from({ hours: 1 }); 2const newDuration = oldDuration.with({ minutes: 30, seconds: 15 });
引数(parameters)
temporalDurationLike
- temporalDurationLike: 時間の差を表すオブジェクト。
Temporal.Durationオブジェクト、または年、月、日、時、分、秒、ミリ秒、マイクロ秒、ナノ秒などのプロパティを持つオブジェクトで指定します。
戻り値(return)
Temporal.Duration
このメソッドは、元のTemporal.Durationオブジェクトのプロパティの一部または全部を、指定された値で置き換えた新しいTemporal.Durationオブジェクトを返します。