数値と演算子

数値の種類

二進数  : 1011 0101 0011 1010
八進数  : 132472
十六進数 : B53A

JavaScriptだと整数も倍制度浮動小数点もNumber

(Bignum型はまだとっておく)

いろんなNumberメソッド

toFixed()

小数点以下を何桁にするかを括弧内で決めて丸める
どういう規則なのかはよくわからなかった
小数部が0になっても桁を出す

function num(x) {
	return Number.parseFloat(x).toFixed(2) ;
}

console.log(num(123.446));
console.log(num(21.124));
console.log(num(0.555));
console.log(num(1.000));
console.log(num(1.555));
>  "123.45"
>  "21.12"
>  "0.56"
>  "1.00"
>  "1.55"

Number()

文字の数字を数値の数字に変換したりする

let num = '1';
console.log(num + 1);
>  11 //文字列型のnumに数値型の1を足そうとした時に型変換が起きて文字列結合になっている
let num = '1';
console.log(Number(num) + 1);
>  2 //数値型に変換して数値演算

算術演算子

演算子の優先順位

50 + 10 / 8 + 2;
これの計算結果は53.25
なぜなら演算する順序が括弧内→乗除算→加減算の順だから
計算結果を6にしたければ(50 + 10) / (8 + 2);とする

常識

インクリメントとデクリメント

++--
for文とか配列とかポインタでよくお世話になる

let num = 4;
num1++; //4

???
どうやらブラウザが変数の値を返してからインクリメントしているらしい

変数の前に++を置くとインクリメントしてから値を返すようにできる

let num = 4;
++num1; //5

代入演算子

+=とか-=とか*=とか/=とか
左辺の値に右辺の値を(加|減|乗|除)算してから代入

比較演算子

厳密な判定===と普通の判定==の違いはデータ型まで見るかどうか

1 === '1'はfalseになるけど1 == '1'はtrueになる
こんなエラーを防ぐために厳密な判定を使うほうがいい

参考: https://developer.mozilla.org/ja/docs/Learn/JavaScript/First_steps/Math

learnJS Home