プログラムで扱うデータの種類や基本的な計算方法について説明します。
キーワード:データ型、演算子
データ型
プログラムで扱うデータにはいくつかの種類があり、その種類のことを「データ型」といいます。
| String | 文字列 | シングルクオート(’)、ダブルクオート(”)、バッククオート(`)で囲った文字列 |
| Number | 数値 | -(253 – 1)〜253 – 1の数値 |
| Boolean | 真偽値 | true/false |
同じ数字であっても
a = 1;
と書くと「数値(Number)」として処理され
a = "1";
と書くと「数値」ではなく「文字列(String)」になります。
下の2例の違いを確認してみてください。
▼ブラウザのコンソールに入力①
a = 1;
b = 1;
console.log ( a + b );
▼ブラウザのコンソールに入力②
a = 1;
b = "1";
console.log ( a + b );
②の例のように数値と文字列が混在した場合は、数値を文字列に「暗黙的に」変換したあと、文字列として結合します。
演算子
+ や = などの記号を演算子といい、値をものに何らの処理を行い、その結果を返します。
▼ブラウザのコンソールに入力①
a = 1 + 2;
console.log( a );
この例ではまず「1 + 2」が計算され、その計算結果である「3」が定数 a に代入(=)されます。
数学の式と同じように()で囲むと計算の優先順位を変えられます
▼ブラウザのコンソールに入力②
console.log ( 1 + 2 * 3 );
▼ブラウザのコンソールに入力③
console.log ( (1 + 2) * 3 );
数値の計算に使う演算子は、算術演算子と呼ばれ、次のようなものがあります。
| + | 加算(足し算) |
| – | 減算(引き算) |
| * | 乗算(かけ算) |
| / | 除算(割り算) |
| % | 剰余(割り算したときの余り) |
| ** | べき乗(3**2と書くと、3の2乗) |
| ++ | 1を加算(インクリメント演算子) |
| — | 1を減算(デクリメント演算子) |
等価(==)と厳格な等価(===)
==と===はどちらも「値が等しいかどうか」を比較する方法ですが、イコールが3個の===の方がより「厳格」です。
下の2例の違いを確認してみてください。
▼ブラウザのコンソールに入力 ①
a = 1;
b = "1";
console.log( a == b );
▼ブラウザのコンソールに入力②
a = 1;
b = "1";
console.log( a === b );
②の例では、同じ「1」であっても、a は数値、bは文字列のため、データ型が異なります。そのため、falseが返されます。
①の例では、型の違いは考慮されず、同じ「1」であるため、trueになります。
===を使った方が、より正確に比較ができますので、同じ値かどうかを比較したいときには、基本的には===を使う方がわかりやすいです。
参考書籍・リンク
- 「独習JavaScript」CodeMafia 外村将大, 翔泳社, 2021
- https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Grammar_and_types
- https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Addition
- https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Assignment
- https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Equality
- https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Strict_equality