Umi Uyuraのブログ

Titaniumを使ったスマートフォンアプリ開発を中心に、プログラミング関連の作業ログ。

Titaniumでオブジェクトの中身をダンプする

普段Emacs + Titanium(Appcelerator) CLIで開発をしているのですが、少し不便なのが、デバッグのときにオブジェクトの中身を確認したいとき。

Appcelerator Studioなら、ステップ実行しながらオブジェクトの中身をGUIで確認できたりするわけですが、わざわざエディタと別にStudioを開いておくのも面倒なので、よほどの時でないと使っていなかったりします。

ブラウザでは console.dir() という便利出力を使えたりしますが、残念ながらTitaniumでは使えません。

ちょっと変数の中身をみたり、ちょっとした動きの確認程度のことであれば Ti.API.debug() を絨毯爆撃してデバッグしていますが、オブジェクトを指定した場合、 [object Object] のような出力になってしまうので、 for...in などで展開して出力したりしていました。

が、どうやら以下のようにしてあげると、ダンプできるもよう。

Ti.API.debug(JSON.stringify(someObject));

なるほど、 JSON.stringify でオブジェクトを文字列化して出力してあげれば良かったのか・・・この技、知らなかった。

ChromeのDeveloper ToolでTitaniumアプリをデバッグできる TiInspector も以前少し使っていたのですが、Titanium SDK 3.5.x以降で使えなくなってしまったのが残念。

参考

確かな力が身につくJavaScript「超」入門 (確かな力が身につく「超」入門シリーズ)

確かな力が身につくJavaScript「超」入門 (確かな力が身につく「超」入門シリーズ)