JavaScript糞Tips
JSのよくあるスニペット集。JS 初心者が初見で???となるコード達。
条件式に変数をそのまま入れて存在チェック
undefined や null は、false として判定される仕様を利用したやり方。
var unixtime = function(date) { if (date) { return date.getTime(); } return new Date().getTime(); }
論理OR演算子を利用した変数の初期化
引数未指定(= undefined)の場合は空の配列をデフォルト値として扱わせる。型エラーで処理が止まらないように、最低限動くようにするためのやり方。
var print = function(list) { list = list || []; for (var i = 0, len = list.length; i < len; i++) { console.log(list[i]); } }
indexOf に ~(チルダ)を使って boolean のように判定
チルダはビット反転演算子。-1 のときは 0 になるので JavaScript 的に false と判定される。
if (text.indexOf('hello') !== -1) と書くのはダルいし、Express などのメジャーなライブラリでも使われてるので気にせず常用すればいい。contains メソッドが実装済ならこんなことしなくて済むのに。
var text = 'hello, world'; if (~text.indexOf('hello')) { console.log('含む'); } else { console.log('含まない'); }