四則演算と変数

この章では、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
// 'わんわんにゃーにゃーにゃー'

文字列同士の足し算は、文字列を連結した結果になることが分かりました。 可愛いですね。

真偽値型と関数オブジェクト型については続く章で紹介します。 オブジェクト型については本サイトでは紹介しませんが、気になる方は次の記事をご参照ください。

© 2018 set0gut1