この動画はメンバー限定動画です

全ての講座が
月額990円で学び放題

講座の情報を見る

TypeScript入門今日の日付を確認しよう① – Dateオブジェクト

記事を共有:

  • X
  • Pocket
  • クリップボードにコピー

次のようなプログラムを作成してみましょう。

今日の日付を表示する

TypeScriptで今日の日付を知るには、「オブジェクト」というものを利用する必要があります。次のようなプログラムを作成してみましょう。

// date.ts
const today: Date = new Date();
console.log(today.getDate());

このプログラムを実行すると、画面に1から31のいずれかの数字が表示されます。

この数字は、実行した日によって変化し、この図ではある月の9日に実行した場合の例です。こうして、今日プログラムを実行している日の情報を知ることができました。

オブジェクトを知ろう

ではここで、次のプログラムに注目しましょう。

today.getDate();

これは、「getDate()」というDateオブジェクトのメソッドを利用しています。このメソッドが「日付を取得する」という動きをします。しかし、この「Date」オブジェクトは直接利用することはできません。次のプログラムに注目しましょう。

const today: Date = new Date();

ここで定数を宣言していますが、代入している値が特殊で、これは「Dateオブジェクトのインスタンスを宣言する」という動きをします。

インスタンス(Instance)とは英語で「実体」といった意味があり、ここではDateオブジェクトというオブジェクトの「実体」を作成するといった具合です。TypeScriptのオブジェクトは、基本的にインスタンスにしないと利用することができません。

こうしてインスタンスを作れば、Dateオブジェクトの各メソッドを利用することができます。

インスタンスのメリット

インスタンスを作るのは、メリットもあります。ここでは「今日の日付のインスタンス」を作成しましたが、同じDateオブジェクトでも別の日付のインスタンスを作ることもできます。次のように追記しましょう。

const newyear: Date = new Date(2024, 0, 1);

「new Date」の後にパラメータが指定されています。これは、任意の日付を指定するというパラメータで、これによって「2024年1月1日」の日付のインスタンスを作成しました。では、このインスタンスのメソッドを使ってみましょう。

console.log(newyear.getDate());

すると今度は、実行した日にかかわらず「1」と表示されるようになります。こうして、Dateオブジェクトから、さまざまな日付のインスタンスを作ることができるというわけです。

月の指定が0の理由

先のDateオブジェクトのパラメータは、左から順番に「年」「月」「日」を指定します。ただこの時、月の指定が「0」になっています。これは、1月を指定していて、Dateオブジェクトでは月は0(1月)から11(12月)で指定をするというややこしい決まりになっています。

なぜ、実際の月から1が足りないのかですが、実は月を数字で表すのは日本などの一部の国だけで、英語圏の国の場合は、January(1月)からDecember(12月)まで、それぞれに単語が割り振られています。 そのため、月を1から数える必要性がありません。

そしてコンピュータは数を数える場合、1からではなくて0から数え始めます。そのため、ここでは月を0から数えるというわけです。ややこしいのですが、慣れましょう。

では、次のレッスンで実際に日付を表示するプログラムを作成してみましょう。

前のレッスン 次のレッスン