データ型(文字列・数値)
プログラミングの世界では、コンピュータは人間と違って**「空気を読む」のが非常に苦手**です。
例えば、私たち人間は「100」という数字を見ても文脈から「百円玉」のことなのか、「テストの点数」なのかを判断できます。
しかし、コンピュータはそれができません。 私たちは、コンピュータに対して「これは計算するための数字ですよ」「これは表示するための文字ですよ」と、一つ一つ丁寧に教えてあげる必要があります。この、データの種類のことを**「型(かた)」**と呼びます。
今回は色々ある型の中から最終課題で利用する文字列型と数値型について学んでいきます。
文字を扱う「文字列型」📝
名前や住所、メッセージといった「文字」のデータは、**文字列型(string:ストリング)**と呼ばれます。コンピュータに「これは文字列ですよ」と教えるためのルールは、とてもシンプルです。
"(ダブルクォーテーション)または '(シングルクォーテーション)で囲む。
これは、「ここからここまでが、ひとかたまりの文章ですよ」と、コンピュータに伝えるための目印です。
'hogehoge@gmail.com'
"ログイン成功!"
↑ " がないのでエラーになる
計算するための「数値型」🔢
年齢や個数、金額といった、足し算や引き算などの「計算」に使われるデータは、**数値型(number:ナンバー)**と呼ばれます。こちらのルールもシンプルです。
" や ' で囲まずに、数字をそのまま書く。
3.14
-50
↑ " で囲むと「100」という文字扱いになる
その他にもたくさんの型があります
この課題では次にもう1つ重要な「boolean」について次のタブで学びます。
書き方と具体例
// 文字列型の場合(文字の連結)
"私は" + "山田です" // 結果は "私は山田です" になる
// 数値型の場合(正しい計算)
100 + 50 // 結果は 150 になる
// 文字列型の場合(文字の連結)
"100" + "50" // 結果は "10050" になる
// 文字列型と数値型の場合
"母から" + 1000 + "円もらいました" // 結果は "母から1000円もらいました" になる
// 文字列型と変数の場合
const name = "鈴木"
"私の名前は" + name // 結果は "私の名前は鈴木" になる
箱の中身を確認する:console.log()
変数という箱に保存した値を使って、いよいよテストの「検証」を行います。
console.log() は、変数という箱の中に、今何が入っているのかを確認するためのコマンドです。テストの成功・失敗には影響せず、私たちがデバッグ(調査)する際に役立ちます。
const myName = "山田 太郎";
console.log(myName); // コンソールに「山田 太郎」と表示される
自動テストでの使い方
自動テストは繰り返し実行されるため、毎回同じデータ(例:メールアドレスや登録データ)を使っていると、「そのデータは既に使用されています」といったエラーでテストが失敗することがよくあります。
そこで重要になるのが、テスト実行のたびに他の誰とも重複しない、一意(ユニーク)なデータを動的に作成するテクニックです。
// 例: ユーザー登録で使うメールアドレスを動的に作成する
const timeStamp = Date.now(); // 現在のタイムスタンプを取得
const email = "testuser_" + timeStamp + "@example.com";
やってみよう
「数値の足し算」と「文字列の連結」で + 記号の働きがどう変わるのかを学びます。この演習では、数値と文字列の変数を組み合わせて、一つの文章を完成させてみましょう。
演習ファイル
tests/document-4/lesson-01.spec.ts
手順動画
進め方
- 最初のテスト(文字列と数値)をデバッグ実行し、
console.log()で表示される計算結果と文字の連結結果の違いを確認しましょう - 2つ目のテスト(演習問題)を開き、コメントの指示に従って finalMessage を完成させるコードを記述してください
- テストを実行して、expectによる答え合わせが成功することを確認できればクリアです!