無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

オブジェクトがnullやundefindでないか評価する。

ifで評価すれば一発で判定できます。

if ( !target ) { ... }

// 以下のようにはしなくてもいい。 
// if ( target == null || target == undefined ) { ... }

値ごとのifでの評価結果は次の表の通り。空文字列や0はfalse扱いなので注意。

値 ifで評価した結果
Object true
undefined false
null false
0 false
1 true
-1 true
""(空文字列) false
"a" true
配列 true
ハッシュ true

確認してみます。

var stdout = document.getElementById("stdout");

// オブジェクト / null, undefind は false
stdout.innerHTML +=  "null      is " + ( null         ? "true" : "false" ) + ".<br/>";
stdout.innerHTML +=  "undefined is " + ( undefined    ? "true" : "false" ) + ".<br/>";
stdout.innerHTML +=  "object    is " + ( new Object() ? "true" : "false" ) + ".<br/>";

// 数字 / 0 はfalse
stdout.innerHTML +=  "0  is " + ( 0  ? "true" : "false" ) + ".<br/>";
stdout.innerHTML +=  "1  is " + ( 1  ? "true" : "false" ) + ".<br/>";
stdout.innerHTML +=  "-1 is " + ( -1 ? "true" : "false" ) + ".<br/>";

// 文字列 / 空文字はfalse
stdout.innerHTML +=  "  is " + ( ""  ? "true" : "false" ) + ".<br/>";
stdout.innerHTML +=  "a  is " + ( "a"  ? "true" : "false" ) + ".<br/>";

// 配列 / どちらもtrue
stdout.innerHTML +=  "[]     is " + ( []     ? "true" : "false" ) + ".<br/>";
stdout.innerHTML +=  "['a']  is " + ( ['a']  ? "true" : "false" ) + ".<br/>";

// ハッシュ / どちらもtrue
stdout.innerHTML +=  "{}      is " + ( {}      ? "true" : "false" ) + ".<br/>";
stdout.innerHTML +=  "{a:'a'] is " + ( {a:'a'} ? "true" : "false" ) + ".<br/>";

実行結果です。

null is false.
undefined is false.
object is true.
0 is false.
1 is true.
-1 is true.
is false.
a is true.
[] is true.
['a'] is true.
{} is true.
{a:'a'] is true.

確認はこちらから。