CHAPTER 11 · 3 lessons · 39問

データの道具箱

JSON で受け渡しし、Date で日時を扱い、正規表現で文字の形を調べる。現場で毎日使う3つの道具。

0 / 39 問クリア

ここまでで、値の作り方・扱い方・失敗への備え方を覚えた。この章では視点を変えて、外の世界とやり取りするときに必ず出てくる3つの道具を足す。

ひとつめが JSON。オブジェクトはメモリの中にある間はそのままだけれど、ファイルに保存したり、別のコンピュータへ送ったりするときはただの文字列にしなければならない。JSON.stringify が変換して文字列を作り、JSON.parse が文字列から元の形に戻す。このやり取りが、この先のコースで学ぶ通信の下地になる。

ふたつめが Date。「今日は何日か」「どちらが先の日付か」「あと何日残っているか」は、単なる数値の計算では扱いにくい。うるう年や月ごとの日数の違いがあるからだ。Date クラスに日時を作らせ、そこから年・月・日を取り出したり、2つの日時を比べたりする。

みっつめが正規表現(RegExp)。「郵便番号の形式になっているか」「数字だけで書かれているか」のように、文字列が決まった形に沿っているかを調べたい場面は多い。1文字ずつ if で調べるかわりに、パターンをひとつ書いて .test() に渡すだけで済ませられる。

3つとも、これまでの章のように「新しい構文」ではない。JavaScript が標準で用意している道具(オブジェクトとメソッド)を使いこなす章だ。だからこそ、覚えることは少ないのに現場で使う頻度はとても高い。

この章のレッスン

JSON で受け渡しする

  1. 91JSON で文字にする・戻すJSON.stringify でオブジェクトを文字列にし、JSON.parse でオブジェクトに復元しよう。問題へ

日付と時刻を扱う

  1. 92日付と時刻を扱うDate クラスを使って特定の日時を作り、年・月・日を取り出したり日時の比較をしよう。問題へ

文字の形を調べる

  1. 93文字のパターンを調べるRegExp(正規表現)を使って、文字列が特定の形式(数字だけ、長さなど)に合っているかテストしよう。問題へ

つぎは「時間のかかる処理を待つ」。Promise で「あとで届く結果」を表し、async / await でまっすぐ書き、失敗にも備える。