【JavaScript ECMAScript】Temporal::Temporal.PlainMonthDay.prototype.withインスタンスメソッドの使い方
Temporal.PlainMonthDay.prototype.with()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Temporal.PlainMonthDay.prototype.with()メソッドは、Temporal.PlainMonthDayオブジェクトの月や日の値を変更し、その変更が適用された新しいTemporal.PlainMonthDayオブジェクトを生成するメソッドです。このメソッドは、既存の月日オブジェクトを基に、特定の部分だけを変更した新しい月日オブジェクトを作成したい場合に利用されます。
引数として、変更したい月(month)や日(day)のプロパティを含むオブジェクトを受け取ります。例えば、{ month: 3 }を渡すと、元のオブジェクトの日はそのままに月だけが3に変更された新しいオブジェクトが返されます。同様に、{ day: 15 }を渡せば、月はそのままに日が15に変更されます。複数のプロパティを同時に変更することも可能です。
重要な点として、このメソッドは元のTemporal.PlainMonthDayオブジェクト自体を変更するわけではありません。元のオブジェクトはそのままの状態を保ち、変更が適用された全く新しいTemporal.PlainMonthDayオブジェクトを返します。このような「不変性(イミュータビリティ)」の原則は、予期せぬデータの変更を防ぎ、プログラムの信頼性を高める上で非常に重要です。
システム開発においては、基準となる日付を保持しつつ、その一部を変更した派生的な日付を安全に生成する場面が多くあります。with()メソッドは、そのような日付操作を簡潔かつ安全に行うための強力なツールとして機能します。例えば、特定月の全ての日を順に処理するようなロジックで、月だけを固定し日を動的に変更する際に役立ちます。
構文(syntax)
1const plainMonthDay = new Temporal.PlainMonthDay(10, 26); 2const newPlainMonthDay = plainMonthDay.with({ month: 11 });
引数(parameters)
temporalMonthDayLike, options
- temporalMonthDayLike: Temporal.PlainMonthDay、または月日を表すオブジェクト。このオブジェクトのプロパティを使用して、新しいTemporal.PlainMonthDayオブジェクトを生成します。
- options: オブジェクト。プロパティを元に、どのプロパティを更新するかを指定します。
戻り値(return)
Temporal.PlainMonthDay
指定されたフィールドを更新した新しい Temporal.PlainMonthDay オブジェクトを返します。