【理解を深める_03】判定処理と真偽値

判定処理と真偽値

判定処理の基本

javaScriptを書く時に、

「判定処理」として

このように、

判定処理を行って、

  • 判定処理が「正」として処理を行う
  • 判定処理が「誤」として処理を行う

という判定を行います。

これは、

「if文」を用いて判定を行いますが、

具体的には、

let moji = '文字';

if(moji == '文字') {
  console.log('文字は同じです。');
}
else {
  console.log('文字は同じではありません。');
}

という形で使います。

判定処理や繰り返し処理は、

処理の流れを扱うものなので、

この辺りの基本的なことについては、

以下の記事を参考にしましょう。

判定部分での真偽値の考え方

このif文をもう少し、詳しくみていきましょう。

判定処理としては、

if(【判定処理】) {
  【判定処理】が「正」の時の処理
}
else {
  【判定処理】が「誤」の時の処理
}

のようになります。

ここでポイントとなるのは、

判断処理自体は、

【判定処理】が「誤」である条件

すなわち

真偽値の「0」になる条件

であることが、

判断として「誤」となることです。

実際に、

以下のコードで自分自身でも試してみましょう。

if(0) {
  console.log('正');
}
else {
  console.log('誤');
}

こちらを実行すると、

結果として、

が表示されます。

この「0」以外は、「正」の方の結果になってしまうので、

// 以下の結果は「正」と表示
if(1) {
  console.log('正');
}
else {
  console.log('誤');
}

という処理や、

// 以下の結果は「正」と表示
if(777) {
  console.log('正');
}
else {
  console.log('誤');
}

などに関しても、

「正」と表示される動きになります。

判定処理の具体例で考えてみよう

実際によく使われるif文で、

上記の【判定処理】をもう少し、詳しくみていきましょう。

具体的な例として、

let moji = 'テスト';
if(moji == '違う文字') {
  console.log('正');
}
else {
  console.log('誤');
}

というコードを考えてみましょう。

このコードを

if(【判定処理】) {
  【判定処理】が「正」の時の処理
}
else {
  【判定処理】が「誤」の時の処理
}

にあてはめると、

【判定処理】の部分は、

moji == '違う文字'

という部分です。

この部分の結果が、

「0」なのか、それ以外なのかをみていきましょう。

確認するコードとして、

let moji = 'テスト';
console.log(moji == '違う文字');

このコードで確認すると、

false

という結果が得られます。

「false」という値に関しては、

の記事の最後の方に書いていますが、

console.log(Number(false));

で確認すると、

0

という結果になるので、

if(0) {
  console.log('正');
}
else {
  console.log('誤');
}

という意味のコードになり、

結果として、

という表示になります。

このように、

判定処理では、

真偽値の「0」になるかどうかが、

判定処理の結果を左右しているのを覚えておきましょう。

自分で色々と試してみよう

  • 判定処理として、「0」になるかどうか、
  • この辺りを試すことは、
  • 理解を深めるので、
  • 以下のようにコードを作って
  • 試してみるとよいでしょう。
  • サンプルコード(自分なりに答えを確認してみましょう)
// test1
let test1 = 100 == 100;
console.log(test1);
console.log(Number(test1));
if(test1) {
  console.log('test1は「正」です');
}
else {
  console.log('test1は「誤」です');
}

// test2
let test2 = 100 == 101;
console.log(test2);
console.log(Number(test2));
if(test2) {
  console.log('test2は「正」です');
}
else {
  console.log('test2は「誤」です');
}


// test3
let test3 = '文字' == '文字';
console.log(test3);
console.log(Number(test3));
if(test3) {
  console.log('test3は「正」です');
}
else {
  console.log('test3は「誤」です');
}

// test4
let test4 = '文字' == '違う文字';
console.log(test4);
console.log(Number(test4));
if(test4) {
  console.log('test4は「正」です');
}
else {
  console.log('test4は「誤」です');
}