6月 252017
 

約 3 ヶ月開発してて気がついたんだけど、SP.ScriptHelpers に Null や Undfined、Empty を判定するメソッドが生えていた。

  • SP.ScriptHelpers.isNullOrEmptyString();
  • SP.ScriptHelpers.isNullOrUndefined();
  • SP.ScriptHelpers.isNullOrUndefinedOrEmpty();
  • SP.ScriptHelpers.isUndefined();

今まで自作の関数読んでたよ…
人はこうやって大人になっていくんだね(白目

コード読んだから何やってるか判るけど、とりあえず動作確認表を作ってみた。
ついでに JavaScript での判定も表にした。

検証環境

  • SharePoint Online (2017/06/27 実施)
  • Windows 10 Pro 64bit
  • IE11, FF, Chrome

SP.ScriptHelpres での判定について

検証コードは雑に書くとこんな感じ。

No. conditions null ‘null’ undefined ‘undefined’ false ‘false’ 0 ‘0’
1 isNullOrEmptyString(v) true false true false false false true false false
2 isNullOrUndefined(v) true false true false false false false false false
3 isNullOrUndefinedOrEmpty(v) true false true false false false true false false
4 isUndefined(v) false false true false false false false false false

ちゃんと予定通りの動きをしてくれている(まぁコード見れば当たり前ですが)。

JavaScript での判定について

ついでに JavaScript での判定も表にした。

No. conditions null ‘null’ undefined ‘undefined’ false ‘false’ 0 ‘0’
1 v == null true false true false false false false false false
2 v === null true false false false false false false false false
3 v == “null” false true false false false false false false false
4 v === “null” false true false false false false false false false
5 v == undefined true false true false false false false false false
6 v === undefined false false true false false false false false false
7 v == “undefined” false false false true false false false false false
8 v === “undefined” false false false true false false false false false
9 typeof v == undefined false false false false false false false false false
10 typeof v === undefined false false false false false false false false false
11 typeof v == “undefined” false false true false false false false false false
12 typeof v === “undefined” false false true false false false false false false
13 v == false false false false false true false true true true
14 v === false false false false false true false false false false
15 v == “false” false false false false false true false false false
16 v === “false” false false false false false true false false false
17 v == “” false false false false true false true true false
18 v === “” false false false false false false true false false
19 v == 0 false false false false true false true true true
20 v === 0 false false false false false false false true false
21 v == “0” false false false false true false false true true
22 v === “0” false false false false false false false false true

やはり、型までチェックしないと危ないことが判ります。


 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">