四則演算と変数
この章では、javascriptでの簡単な数値計算の行い方と、変数の扱い方について紹介します。
四則演算
簡単な計算をしてみましょう。
100 + 200 * 300
// 60100
(100 + 200) * 300
// 90000
25 / 4
// 6.25
25 % 4
// 1
3.14 * 3 * 3
// 28.259999999999998
答えあっていますでしょうか。
//
から行末までの文字列は「コメント」として、プログラム処理系には無視されるメモ書きです。
1行目の*
は掛け算の記号です。
また3行目の/
は割り算の記号です。
1行目〜3行目まで、普通の算数の算数の計算結果と同じですね。
4行目の25 % 4
は、25を4で割った余りを計算する演算子です。
1で正しいですね。
5行目の3.14 * 3 * 3
は28.26が正しいはずですが、答えが28.259999999999998
になってしまっています。
これには次の2つの理由があります。
- 10進数の28.26を2進数で表すと循環小数になること
- javascriptは実数を64桁(64bit)のデータ領域に指数表記で詰めるように格納するので、循環小数を十分に表現できないこと
工夫して10進数と同じ結果を得るようにすることもできますが(二進化十進表現)、非効率的なのでどうしても必要がない限り通常はしません。
変数
変数を用いた計算を行うこともできます。
var x = 100
var y = 200
var z = 300
x + y * z
// 60100
(x + y) * z
// 90000
var
は変数宣言のキーワードです。
より正確には変数の有効範囲(スコープ)を限定するものであり、これを書き忘れるとプログラムにバグが発生しがちです。
また=
ですが、これは「等しい」ではなく「左辺に右辺を代入する」という意味です。
よく怪訝な顔をされるのですが、x = x + 1
といった表現もよく出てきまして、これは「x+1の計算結果をxに代入する」(=xの値を1増やす)の意味となります。
var x = 100
x = x + 1
// 101
x = x + x
// 202
値のタイプ
さて、これまで数値についてばかり扱ってきましたが、数値以外にも扱えるデータが当然あります。 javascriptにはざっくりいうと6つのデータタイプがあります。
- number: 数値
- string: 文字列
- boolean: 真偽値
- object: オブジェクト
- funciton: 関数オブジェクト
例えば文字列も、数値と同様に計算することができます。
var wan = "わん"
var nya = "にゃー"
wan + nya
// 'わんにゃー'
wan + wan + nya + nya + nya
// 'わんわんにゃーにゃーにゃー'
文字列同士の足し算は、文字列を連結した結果になることが分かりました。 可愛いですね。
真偽値型と関数オブジェクト型については続く章で紹介します。 オブジェクト型については本サイトでは紹介しませんが、気になる方は次の記事をご参照ください。