この動画はメンバー限定動画です
全ての講座が
月額990円で学び放題
それではいよいよ、生年月日を使って年齢を計算してみましょう。生年月日から年齢を計算するには、次のような手順を踏む必要があります。
- 今年の年から誕生年を引く
- もし、今年の誕生日がまだだったら、年齢を引く
とします(他の計算方法もあります)。これを「getAge」メソッドとして作っていきましょう。まずは、今日の日付を取得し、年を引き算します。
getAge(): number {
const now = new Date();
let age = now.getFullYear() - this._birth.getFullYear();
誕生日は過ぎている場合は、これで正しい年齢が取得できますが、誕生日前の場合は1歳引かなければなりません。この計算は、次のような方法で行います。
- 誕生日の「年」を今年の「年」に合わせて、「今年の誕生日」にする
- 「今年の誕生日」と「今日の日付」を比べて、今日の日付が新しければ1歳引く
次のようなプログラムになります。
// 誕生日前なら1歳引く
let thisBirth = new Date(
now.getFullYear(),
this._birth.getMonth(),
this._birth.getDate()
);
if (now < thisBirth) {
age--;
}
return age;
これで完成です。呼び出してみましょう。
const yoshiko = new Member("Yoshiko", new Date("2000-01-01"));
console.log(yoshiko.name);
console.log(yoshiko.age);
こうして、さまざまな情報を整理することができます。