見出し画像

【フレアのJavaScript入門記5日目】数値の演算子と真偽?

こんにちは、フレアです。
前回は、5つのデータ型について勉強しました。
今回は、型の一つである「数値型」について学んでいきます。


演算子は数値計算に使う記号

プログラミング内で使う記号は、演算子と呼ばれる。そのうち、+や-のように四則計算に使う記号を「算術演算子」という。かけ算は「*」、わり算は「/」というふうに普段の計算では馴染みのない記号もあるものの、Excelなどを少し使ったことがある人ならピンと来るはず。

算術演算子

各種算術演算子と用途は以下の表のとおり

$$

\begin{array}{|c|c|} \hline
算術演算子 & 用途 \\ \hline
+ & 足し算\\ \hline
- & 引き算\\ \hline
* & 掛け算\\ \hline
/ & 割り算\\ \hline
% & 余りの計算\\ \hline
** & 累乗\\ \hline
\end{array}

$$

console.logや変数の中にこれらの演算子を含んだ計算を記述することができる。

console.log(2 + 3);

5 // 計算結果

const total = 2 + 3;
console.log(total);

5 // 計算結果

比較演算子

「AはBより大きい」や「AはBと同じ値である」といった、値同士を比較する場面がプログラムには多く存在する。ここで登場するのが比較演算子である。

>(大なり)や<(小なり)は学校で習ったおなじみの記号。そこから=(イコール)などを加えて比較を表現していく。

各種比較演算子と内容は以下の表のとおり

$$

\begin{array}{|c|c|} \hline
比較演算子 & 内容 \\ \hline
< & 左辺が右辺より小さい場合は\text{true}\\ \hline
> & 左辺が右辺より大きい場合は\text{true}\\ \hline
<= & 左辺が右辺以上で\text{true}\\ \hline
>= & 左辺が右辺以下で\text{true}\\ \hline
== & 両辺が等しい場合は\text{true}\\ \hline
!= & 両辺が等しくない場合は\text{true}\\ \hline
=== & 両辺が(厳密に)等しい場合は\text{true}\\ \hline
!== & 両辺が(厳密に)等しくない場合は\text{true}\\ \hline
\end{array}

$$

「厳密に等しい」とはどういうこと?

先ほど紹介した厳密に等しいという表現。これはいったいなんなのか。

そもそも、JavaScriptにはAとBが同じであるという表現に「==」と「===」の二つ存在する。これらの違いはいったい・・・?

簡単に言うと、大体一致してる状態という緩い判定が「==」で、何から何まで一致している状態なのが「===」ということらしい。厳密には「データ型まで一致しているかどうか」になる。

console.log(1 == '1');

true // 実行結果

console.log(1 === '1');

false // 実行結果

逆もまた然り、「!=」と「!==」で厳密に等しくないかをみられる。

console.log(1 != '1');

false // 実行結果

console.log(1 !== '1');

true // 実行結果

データ型を考慮しない緩い比較の場合、意図しない実行結果が返ってくる可能性もあるため、基本的には厳密に比較をするほうの演算子を使うのが良い。

特殊な値のInfinityとNaN

数値型は数字だけではなく、「無限大」を表すInfinityや「数でないもの」という意味であるNaN(Not a Number)のような特殊な値が存在する。

console.log(3 / 0);

Infinity // 実行結果

console.log(0 / 0);

NaN // 実行結果

checkテスト【数値型編】

Q1. 5に3を足してから、2を掛ける計算式をコードで書け!

(5 + 3) * 2

Q2. 以下のコードの実行結果は何になるか??

12 <= 5

false

Q3. 以下の2つの変数を比較した結果がfalseになるコードを書け!!!

let a = '100';
let b = 100;

a === b

この記事が気に入ったらサポートをしてみませんか?