新規投稿
フォローする

kintoneでJavaScriptを書くときに気をつけるべき空判定の知識

if文を記載するとき、kintoneカスタマイズでもよく
  1. if(hoge){
  2.  //hoge変数に値が入っているとき
  3.  ...
  4. }
 
という構文を使うかと思います。しかし
 
  • 空の文字列「""」
  • 数値の「0」
  • 空のオブジェクト「{}」
  • 空の配列「[]」
  • undefined
  • null

 

などの値がどのようにtrue,falseに判別されるのか意識していないと、思わぬ動作不良につながります。

コンソールログで試すと結果は下記の通りになりました。
 
  • 空の文字列「""」 :false
  • 数値の「0」 :false
  • 空のオブジェクト「{}」 :true
  • 空の配列「[]」 :true
  • undefined :false
  • null :false

 

例えばフィールド形式を見ると、
カテゴリー、作業者、添付ファイル、チェックボックスや複数選択、ユーザー選択、グループ選択、組織選択、テーブル
あたりは配列のvalueを持っているので、複数のフィールドをまとめて条件分岐するようなときに↑の構文を使うときは注意が必要です。
 
また、数値系の値が入るフィールドは基本的に文字列で扱われているので、0の場合も「文字列の0」で値が取得されます。
しかし、外部APIを使用したり、計算の関係でNumber()を扱う場合には0の場合にfalseになってしまうのでこちらも注意する必要があります。
 
その他のtrue,falseの分岐については是非一度Chrome開発者ツールのコンソール画面等でお試しください。
 
参考:
[JavaScript] null とか undefined とか 0 とか 空文字('') とか false とかの判定について
 
(小技)undefined と 空文字のスマートな if 文判定
 
11

0件のコメント

サインインしてコメントを残してください。