昨日は若手IT勉強会に行ってました。web業界は若い人が多いので*1、今年で28になる僕は若手の範疇に入るのか?と思いつつも面白そうだったので参加しました。
今回の勉強会内容はサイ本の読書会でした。1章〜3章まで。勉強になったところをメモっときます。
数値
JavaScriptは整数と浮動小数点数を区別せずに全て浮動小数点数扱いとするようです。ということは十分に大きい数に1を加えたらどうなる?と思い実際に確かめてみたら1が消えました。
Math.pow(10, 100) == Math.pow(10, 100) + 1 // => true
8進数
8進数は標準ではサポートされてないけど、ブラウザによってはサポートしてるかもしれないので、数値の頭に0つけるのはやめたほうがいいようです。特に生年月日を入力してもらうとき等に注意したらいいのかな。
マイナス演算子
-1の"-"は単項演算子
変換
文字列変換をする方法二つ
- toString()を使う
- 空文字列を足して暗黙の変換をする
数値変換をする方法二つ
- parseInt() or parseFloat()
- 数値に変換できなかった時はNaNを返す
- マイナス演算子を使って暗黙の変換をする
論理値変換をする方法二つ
- Boolean()
- !!
falseになる条件
"", 0, NaN, null, undefinedがfalseになる
基本データ型をオブジェクトのように使う
文字列リテラルはなどの基本データ型は一時的にオブジェクトのように使用できる。でもあくまで一時的なので、プロパティに値を設定して他で使うようなことはできない。
var a = "ho"; a.hoge = "fuga"; alert(a); // "ho" alert(a.hoge); // undefined
オブジェクトから基本データ型への変換
- valueOf()があればそれをつかう
- それがない or それで基本データ型が帰ってこない場合はtoString()をつかう
- それをさらに数値に変換する
firebugのショートカット
command + returnでコンソールを実行できる