はじめに
JavaScript入門講座の第四弾として、javascript のデータ型(2)、数値型ついて紹介します。
この記事を読むと次の疑問について知ることができます。
- データ型の数値型とはどのようなもの?
・数値型の種類
・数値の種々な表記方法
2進数、8進数、10進数、16進数による表記
「e」を用いた表記
・数値の演算
算術演算子
インクリメント、デクリメント演算子
代入演算子
論理演算子
比較演算子
JavaScript入門講座(3)では、JavaScript のデータ型(1)文字列型について解説してきました。
ここでは、JavaScript のデータ型(2)、数値型について深堀していきます。
データ型の数値型
JavaScriptでは、数値型のデータも扱うことができ、色々な場面で出てきます。
数値型の種類
JavaScriptで扱える数値には、3つの種類があります。
数値の種々な表記方法
JavaScriptでは、数値を種々な方法で書くことができます。
2進数、8進数、10進数、16進数による表記
私たち人間の社会では、10進法を用いて数値を表現し利用していますが、この他に2進法、8進法、16進法などがJavaScriptでは扱うことができます。
それでは、10進法で扱う数字で1,20,564,2000等がそれぞれの表記でどのように表されるかを見てみましょう。
10進法での数値 | 2進法での表記 | 8進法での表記 | 16進法での表記 |
1 | 1 | 1 | 1 |
20 | 10100 | 24 | 14 |
564 | 1000110100 | 1064 | 234 |
2000 | 11111010000 | 3720 | 7D0 |
実際に、10進法の数値2000の数値を2進法(0b2進法表記の数値)、8進法(0o8進法表記の数値)、16進法(0x16進法表記の数値)を入れて、console.logでコンソールに出力した際にそれぞれが2000の値になるかを見てみましょう。
niSin = 0b11111010000;//二進法での2000の数
const haSin = 0o3720;//8進法での2000の数
const juRokuSin = 0x7D0;//16進法での2000の数
console.log(niSin);
console.log(haSin);
console.log(juRokuSin);
「e」を用いた表記
また、「e」表記で書く場合があります。
書き方を次に示します。
数値の演算
JavaScriptのプログラム内では演算をすることが多くあります。
算術演算子
その際に用いられるのが演算子ですが、演算子の中でも算術に特化したものを算術演算子と呼びます。
算術演算子 | 意味 | 例 | 説明 |
+ | 足し算 | x = 56 + 24 | 56という数値に24という数値を足してその値を変数xに代入 |
- | 引き算 | x = 56 - 24 | 56という数値から24という数値を引いてその値を変数xに代入 |
* | 掛け算 | x = 56 * 24 | 56という数値と24という数値を掛け合わせた値を変数xに代入 |
/ | 割り算 | x = 56 / 24 | 56という数値を24という数値で割り算した値を変数xに代入 |
% | 剰余 |
x = 56 % 24
|
56という数値を24という数値で割り算した時の余りを変数xに代入 |
** | べき乗 | x = 6**5 | 6という数値を5回かけ合わせた値を変数xに代入 |
var x = 56 + 24; //56という数値に24という数値を足してその値を変数xに代入
console.log(x);
var x = 56 - 24; //56という数値から24という数値を引いてその値を変数xに代入
console.log(x);
var x = 56 * 24; //56という数値と24という数値を掛け合わせた値を変数xに代入
console.log(x);
var x = 56 / 24; //56という数値を24という数値で割り算した値を変数xに代入
console.log(x);
var x = 56 % 24; //56という数値を24という数値で割り算した時の余りを変数xに代入
console.log(x);
var x = 6**5; //6という数値を5回かけ合わせた値を変数xに代入
console.log(x);
インクリメント、デクリメント演算子
この演算子は、良くループで回す際によく使われます。
書き方を次に示します。
var x = 6; //変数xに数値6を代入
var y = ++x; //変数yにインクリメント演算子でxに1足した値を代入
console.log(y);
y = x++; //変数yにインクリメント演算子でxに1足す前の値を代入後に、xに1足される。
console.log(y);
console.log(x);
var x = 6; //変数xに数値6を代入
var y = --x; //変数yにデクリメント演算子でxに1引いた値を代入
console.log(y);
y = x--; //変数yにデクリメント演算子でxに1引く前の値を代入後に、xから1を引く。
console.log(y);
console.log(x);
代入演算子
今まで説明をせずに「=」を使ってきましたが、この演算子も代入演算子の代表的な一つです。
他にも幾つかあるので紹介します。
代入演算子 | 意味 | 例 | 説明 |
+= | 加算代入 | x += 6 | 変数xに6という数値を足して変数xに代入 |
-= | 減算代入 | x -= 6 | 変数x6という数値を引いて変数xに代入 |
*= | 乗算代入 | x *= 6 | 変数xに6という数値を掛けて変数xに代入 |
/= | 除算代入 |
x /= 6
|
変数xに6という数値で割って変数xに代入 |
%= | 剰余代入 | x %= 6 | 変数xを6で割った余りをxに代入 |
var x =3; // 変数xに数値3を代入
x += 6; // 変数xに数値6を足して代入
console.log(x);
x -= 6; //変数xに数値6を引いて代入
console.log(x);
x *= 6; // 変数xに数値6を掛けて代入
console.log(x);
x /= 6 ; // 変数xを数値6で割って代入
console.log(x);
x %= 6 // 変数xを数値6で割った余り代入
console.log(x);
論理演算子
論理演算子は主に制御文で利用されます。
これについては、制御文のところで詳しく紹介します。
論理演算子を次に紹介します。
論理演算子 | 意味 | 例 | 説明 |
&& | 論理積 | x && y | xとyが両方とも「true」の場合「true」を返し、それ以外は「false」を返す。 |
|| | 論理和 | x || y | xとyがのどちらかが「true」の場合「true」を返し、それ以外は「false」を返す。 |
! | 論理否定 | ! x | xが「true」の場合は「false」を、xが「false」の場合は「true」を |
var x=5;
console.log(x>2 && x<10); // 式の中身がtrueとtrueなので結果はtrue
console.log(x<2 && x<10); // 式の中身がfalseとtrueなので結果はfalse
console.log(x>2 && x>10); // 式の中身がtrueとfalseなので結果はfalse
console.log(x<2 && x>10); // 式の中身がfalseとfalseなので結果はfalse
console.log(x>2 || x<10); // 式の中身がtrueとtrueなので結果はtrue
console.log(x<2 || x<10); // 式の中身がfalseとtrueなので結果はtrue
console.log(x>2 || x>10); // 式の中身がtrueとfalseなので結果はtrue
console.log(x<2 || x>10); // 式の中身がfalseとfalseなので結果はfalse
console.log(! x>2); //式の中身がtrueなので結果はfalse
console.log(! x<2); //式の中身がfalseなので結果はtrue
コードの解説は省略しますが、コメントをよく見て確認してくださいね。
比較演算子
2つの式や値を比較するのに用います。
if文やfor文で良くつかわれます。
次にそれらの比較演算子を紹介します。
比較演算子 | 意味 | 例 | 説明 |
== | 等価 | x == y | xとyが等価の時に「true」を返します。 |
!= | 不等価 | x != y | xとyが等価でない時に「true」を返します。 |
=== | 厳密等価 | x === y | xとyが厳密に等価の時に「true」を返します。 |
!== | 厳密不等価 |
x!== y
|
xとyが厳密に不等価の時に「true」を返します。 |
< | より小さい | x < y | xよりYが小さい時にtrue」を返します。 |
> | より大きい | x > y | xよりYが大きい時にtrue」を返します。 |
<= | 以下 | x <= y | xがy以下の時にtrue」を返します。 |
>= | 以上 | x >= y | xがy以上の時にtrue」を返します。 |
var x = 6; //xに数値の6を代入
var y= "6"; //yに文字列の「6」を代入
console.log(x == y); //xの数値とyの文字列「6」を等価とみなして、「true」を返します。
console.log(x != y); //xの数値とyの文字列「6」を等価とみなして、「false」を返します。
console.log(x === y); //xの数値とyの文字列「6」を厳密に等価でないので、「false」を返します。
console.log(x !== y); //xの数値とyの文字列「6」を厳密に等価でないので、「true」を返します。
console.log(x < y); //xの数値とyの文字列「6」を等価とみなして、「false」を返します。
console.log(x < y); //xの数値とyの文字列「6」を等価とみなして、「false」を返します。
console.log(x <= y); //xの数値とyの文字列「6」を等価とみなして、「true」を返します。
console.log(x >= y); //xの数値とyの文字列「6」を等価とみなして、「true」を返します。
コードの解説は省略しますが、コメントをよく見て確認してくださいね。
おわりに
如何だったでしょうか?
データ型の数値型とはどのようなもの?、数値型の種類、数値の種々な表記方法、2進数、8進数、10進数、16進数による表記、「e」を用いた表記、数値の演算、算術演算子、インクリメント、デクリメント演算子、代入演算子、論理演算子、比較演算子などについて紹介してきました。
この記事があなたにとって少しでもお役に立てればこれほど嬉しいことはありません。
以上です。
コメント