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

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

講座の情報を見る

TypeScript入門ユーザー名とパスワードが合っているかを確認しよう – 論理演算子

記事を共有:

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

前のレッスンで、「比較演算子」を利用した条件を作成しましたが、条件は複数を組み合わせることもできます。例えばここでは、次のようなプログラムを作成してみましょう。

ユーザー名とパスワードを両方合っているかを確認したい

といった、ログイン画面のようなしくみを再現してみましょう。まずは、定数にユーザー名とパスワードを設定してみます。

// login.ts
const username: string = "taniguchi";
const password: string = "12345";

まずは、ユーザー名だけ合っているかを確認してみましょう。等号(===)を使って、次のように追加できます。

if (username === "taniguchi") {
   console.log('ログインしました');
} else {
  console.log('ログインに失敗しました');
}

実行すると「ログインしました」と正しく表示されました。

現状では、パスワードが確認されていないので、パスワードを間違えてもログインに成功してしまいます。そこで、パスワードも正しいかを判断しましょう。

論理演算子を使おう

では、次のようにプログラムを変更しましょう。

if (username === "taniguchi" && password === "12345") {

今度は、パスワードを間違えている場合もログインができなくなります。

論理演算子の種類

ここで利用したのは「&&」という演算子で、これは「かつ」という意味の論理演算子です。論理演算子を利用すると、複数の条件をつなぐことができます。次のような種類があります。

&&AND(かつ)
||OR(または)
!NOT(否定)

「否定」の論理演算子の使い方は少し特殊なので、後述します。

論理演算子を組み合わせるときの注意点

論理演算子は、組み合わせて利用することもできます。ただし、&&と||を組み合わせて使うときには注意が必要です。次の例を見てみましょう。

if (A && B || C) {

この場合、「AとBが合っているか、またはCが合っている」という条件になり、CがあっていればAとBの条件は合っていてもいなくても条件全体は合ったことになります。

もしこの時、そうではなくて「Aは必ず合っていて、BかCのどちらかも合っている」という条件を作りたい場合は、次のようにかっこで囲む必要があります。

if (A && (B || C)) {

しっかりと考えて組み立てないと、条件がうまく成り立たなくなったり、常に成り立ってしまうような条件になってしまうことがあるので、気をつけましょう。

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