eng-note

エンジニアノート

技術関連の自分用メモ書きブログ

Javascript関連のTips

型関連

色々なデフォルト値
// hoge が偽と判定される場合、vに0を入れる
var v = hoge || 0;

// hoge がundefinedの場合, vに0を入れる
var v = typeof hoge === "undefined" ? 0 : hoge;

// hogeが数字じゃない場合、vに0を入れる ※数値かどうかの判定方法は色々ありそうでどれが一番いいのか不明
var v = typeof hoge === "number || Object.prototype.toString.call(hoge) === "[object Number]" ? hoge : 0;
booleanに直す
// hoge が偽と判定される場合、bにtrueを入れる
var b = !hoge;

// hoge が真と判定される場合、bにtrueを入れる
var b = !!hoge;

// これだとhogeやfugaがboolean以外の値の場合、bもbooleanにはならないので注意
var b = hoge && fuga;    // 左辺値が真なら 右辺値がbに入る
var b = hoge || fuga;    // 左辺値が真なら 左辺値がbに入る
整数に直す
// hoge の値によってはバグるので注意
var i = hoge >> 0;
var i = hoge | 0;

// これが安全
var i = Math.floor(hoge)