【JavaScript ECMAScript】Date::Date.prototype.setMonthインスタンスメソッドの使い方
Date.prototype.setMonth()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Date.prototype.setMonth()メソッドは、JavaScriptのDateオブジェクトに対して、そのインスタンスの月と、任意で日を設定するメソッドです。このメソッドは、指定されたDateインスタンスの年を変更することなく、月を設定するために使用されます。
第一引数にはmonthValueとして0から11までの整数を指定します。ここで0は1月、11は12月をそれぞれ表します。このmonthValueが11を超える値を指定された場合、JavaScriptエンジンは自動的に年を調整し、例えば12は翌年の1月として、13は翌年の2月として処理します。
第二引数にはオプションとしてdayValueを指定できます。これは1から31までの整数で、その月の何日であるかを指定します。この引数を省略した場合、Dateオブジェクトの現在の日付がそのまま保持されます。dayValueが指定された月の最大日数を超える場合、超過分は次の月に繰り越され、日付と月が適切に調整されます。例えば、2月に30日を指定しようとすると、3月2日として扱われることがあります。
このメソッドは、設定後のDateオブジェクトが表す、UTC1970年1月1日00:00:00からの経過ミリ秒数を返します。しかし、より重要な点は、setMonth()が呼び出し元のDateオブジェクト自体を直接変更するミュータブルなメソッドであるという点です。そのため、元のDateオブジェクトを変更せずに新しい日付オブジェクトで作業を行いたい場合は、setMonth()を呼び出す前にDateオブジェクトのコピーを作成することをお勧めします。
構文(syntax)
1const dateObject = new Date(); 2dateObject.setMonth(monthValue);
引数(parameters)
monthValue, dayValue
- monthValue: number: 設定する月を表す数値(0から11までの整数)。0は1月、11は12月を表します。
- dayValue: number: 設定する日を表す数値(1から31までの整数)。省略した場合、現在の日の値が使用されます。
戻り値(return)
number
このメソッドは、Dateオブジェクトで設定された月を表す数値を返します。この数値は0(1月)から11(12月)までの整数で表されます。