JSUtil - グローバル

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:14分
  • JSUtil スクリプトインクルードは、一般的な JavaScript ルーチンのショートカットを提供します。

    この API は、スコープ付きスクリプトではなく、グローバルサーバーサイドスクリプトで使用できます。

    JSUtil - doesNotHave(オブジェクトアイテム)

    アイテムが null または未定義かどうかを確認します。

    表 : 1. パラメーター
    名前 タイプ 説明
    アイテム オブジェクト チェックするオブジェクト
    表 : 2. 返される内容
    タイプ 説明
    ブーリアン 指定されたオブジェクトが null または未定義の場合は True。
    var x = "the quick brown fox";
    var y = "";
    var z;
     
    gs.print("x = '" + x + "', JSUtil.doesNotHave(x) = " + JSUtil.doesNotHave(x));
    gs.print("y = '" + y + "', JSUtil.doesNotHave(y) = " + JSUtil.doesNotHave(y));
    gs.print("z = '" + z + "', JSUtil.doesNotHave(z) = " + JSUtil.doesNotHave(z))
    出力:
    x = 'the quick brown fox', JSUtil.doesNotHave(x) = false
    y = '', JSUtil.doesNotHave(y) = false
    z = 'undefined', JSUtil.doesNotHave(z) = true

    JSUtil - escapeAttr(文字列テキスト)

    URL 属性の定義によく使用されるアンパサンドをエスケープします。

    表 : 3. パラメーター
    名前 タイプ 説明
    テキスト 文字列 テキスト
    表 : 4. 返される内容
    タイプ 説明
    文字列 アンパサンドを含むテキストが適切にエスケープされました。
    var attr = "sysparm_query=active=true&sysparm_view=special";
     
    gs.print(JSUtil.escapeAttr(attr));
    出力:これは返されるテキストです。テキストがアプリケーションに表示される場合、ページはエスケープされたアンパサンドを単一のアンパサンドでレンダリングします。
    sysparm_query=active=true&sysparm_view=special

    JSUtil - escapeText(文字列テキスト)

    無効な XML 文字 (「< > &」など) をエスケープします。

    表 : 5. パラメーター
    名前 タイプ 説明
    テキスト 文字列 テキスト
    表 : 6. 返される内容
    タイプ 説明
    文字列 エスケープ文字が追加されたテキスト。
    var html = "<b>This is my title</b>";
     
    gs.print(JSUtil.escapeText(html));
    出力:これは返される値です。結果がアプリケーションに表示される場合、ページは角括弧を元に戻して、エスケープされていないように表示します。
    <b>This is my title</b>

    JSUtil - getBooleanValue(GlideRecord now_GR, 文字列フィールド)

    ブール値の GlideRecord フィールドの値を返します。

    表 : 7. パラメーター
    名前 タイプ 説明
    now_GR GlideRecord A GlideRecord
    フィールド 文字列 ブール値を取得するフィールド。
    表 : 8. 返される内容
    タイプ 説明
    ブーリアン ブール値の GlideRecord フィールドの値を返します。フィールドの値が true、「true」、「1」、または「1」の場合は true を返します。
    var inc = new GlideRecord("incident");
    //get an active incident
    inc.addActiveQuery();
    inc.setLimit(1);
    inc.query();
    inc.next();
     
    gs.print(JSUtil.getBooleanValue(inc, "active"));

    出力:true

    JSUtil - has(オブジェクトアイテム)

    アイテムが null ではなく、未定義でないかどうかを確認します。

    表 : 9. パラメーター
    名前 タイプ 説明
    アイテム オブジェクト チェックするオブジェクト
    表 : 10. 返される内容
    タイプ 説明
    ブーリアン 指定されたオブジェクトが null ではなく、未定義でもない場合は True。
    var x = "the quick brown fox";
    var y = "";
    var z;
     
    gs.print("x = '" + x + "', JSUtil.has(x) = " + JSUtil.has(x));
    gs.print("y = '" + y + "', JSUtil.has(y) = " + JSUtil.has(y));
    gs.print("z = '" + z + "', JSUtil.has(z) = " + JSUtil.has(z));
    出力:
    x = 'the quick brown fox', JSUtil.has(x) = true
    y = '', JSUtil.has(y) = true
    z = 'undefined', JSUtil.has(z) = false

    JSUtil - instance_of(オブジェクトアイテム, 文字列クラス)

    指定されたオブジェクトが指定されたクラスのメンバーかどうかを確認します。

    JavaScript オブジェクトの場合、このメソッドは JavaScript 演算子「instanceof」とまったく同じように動作しますが、Java オブジェクトもサポートします。

    表 : 11. パラメーター
    名前 タイプ 説明
    アイテム オブジェクト チェックするオブジェクト
    class 文字列 確認するクラス
    表 : 12. 返される内容
    タイプ 説明
    ブーリアン 指定されたオブジェクトが指定されたクラスのメンバーである場合は True。
    var a = ['a','b','c'];
    var b = 10;
    var c = new GlideRecord("incident");
     
    gs.print("JSUtil.instance_of(a,'Array') = " + JSUtil.instance_of(a,Array));
    gs.print("JSUtil.instance_of(a,'String') = " + JSUtil.instance_of(a,String));
     
    gs.print("JSUtil.instance_of(b,'String') = " + JSUtil.instance_of(b,String));
     
    gs.print("JSUtil.instance_of(c,'GlideRecord') = " + JSUtil.instance_of(c,GlideRecord));
    出力:
    JSUtil.instance_of(a,'Array') = true
    JSUtil.instance_of(a,'String') = false
    JSUtil.instance_of(b,'String') = false
    JSUtil.instance_of(c,'GlideRecord') = true

    JSUtil:isJavaObject(オブジェクト値)

    指定されたオブジェクトが Java クラスかどうかを確認します。

    表 : 13. パラメーター
    名前 タイプ 説明
    value オブジェクト チェックするオブジェクト
    表 : 14. 返される内容
    タイプ 説明
    ブーリアン 指定されたオブジェクトが Java クラスのインスタンスである場合は True。
    var tu = new TableUtils("incident");
    var classes = tu.getHierarchy(); //Java ArrayList
    var tables = ["task, incident"]; //JavaScript Array
     
    gs.print("JSUtil.isJavaObject(classes) = " + JSUtil.isJavaObject(classes));
    gs.print("JSUtil.isJavaObject(tables) = " + JSUtil.isJavaObject(tables));
    出力:
    JSUtil.isJavaObject(classes) = true
    JSUtil.isJavaObject(tables) = false

    JSUtil - logObject(オブジェクトオブジェクト, 文字列名)

    指定されたオブジェクトのすべてのプロパティ (名前、タイプ、および値) をログに記録します。

    バックグラウンドスクリプトから実行している場合、またはデバッグログが有効になっている場合は、出力がコンソールに書き込まれます。出力はシステムログにも書き込まれます。

    表 : 15. パラメーター
    名前 タイプ 説明
    obj オブジェクト プロパティを列挙するオブジェクト
    name 文字列 ログに記録されたオブジェクトのオプションの名前
    表 : 16. 返される内容
    タイプ 説明
    なし
    var arr = ["a","b","c"];
     
    var inc = new GlideRecord("incident");
    //get an active incident
    inc.addActiveQuery();
    inc.setLimit(1);
    inc.query();
    inc.next();
     
    JSUtil.logObject(arr, "arr");
    JSUtil.logObject(inc, "inc");
    出力:
    Log Object: arr
      Array of 3 elements
        [0]: string = a
        [1]: string = b
        [2]: string = c
    Log Object: inc
      GlideRecord('incident') @ INC0000002

    JSUtil - nil(オブジェクトアイテム)

    アイテムが null、未定義、または空の文字列として評価されるかどうかを確認します。

    表 : 17. パラメーター
    名前 タイプ 説明
    アイテム オブジェクト チェックするオブジェクト
    表 : 18. 返される内容
    タイプ 説明
    ブーリアン アイテムが null、未定義、または空の文字列と評価される場合は True。
    var x = "the quick brown fox";
    var y = "";
    var z;
     
    gs.print("x = '" + x + "', JSUtil.nil(x) = " + JSUtil.nil(x));
    gs.print("y = '" + y + "', JSUtil.nil(y) = " + JSUtil.nil(y));
    gs.print("z = '" + z + "', JSUtil.nil(z) = " + JSUtil.nil(z));
    出力:
    x = 'the quick brown fox', JSUtil.nil(x) = false
    y = '', JSUtil.nil(y) = true
    z = 'undefined', JSUtil.nil(z) = true

    JSUtil - notNil(オブジェクトアイテム)

    アイテムが null、未定義、または空の文字列として評価されているかどうかを確認します。

    注:
    このメソッドは、指定されたオブジェクトが宣言されていない場合にエラーを返します。
    表 : 19. パラメーター
    名前 タイプ 説明
    アイテム オブジェクト チェックするオブジェクト。
    表 : 20. 返される内容
    タイプ 説明
    ブーリアン アイテムが存在するかどうか、および空でないことを示すフラグ。指定されたオブジェクトが宣言されていない場合はエラーが返されます。
    有効な値:
    • true:指定されたオブジェクトは宣言および定義されています。オブジェクトが文字列の場合、空ではありません。
    • false:指定されたオブジェクトは null、未定義、または空の文字列として評価されます。

    次の例は、文字列変数、空の文字列変数、および未定義の変数の結果を示しています。

    var x = "the quick brown fox";
    var y = "";
    var z;
    
    gs.print("x = '" + x + "', JSUtil.notNil(x) = " + JSUtil.notNil(x));
    gs.print("y = '" + y + "', JSUtil.notNil(y) = " + JSUtil.notNil(y));
    gs.print("z = '" + z + "', JSUtil.notNil(z) = " + JSUtil.notNil(z));
    出力:
    x = 'the quick brown fox', JSUtil.notNil(x) = true
    y = '', JSUtil.notNil(y) = false
    z = 'undefined', JSUtil.notNil(z) = false

    JSUtil - toBoolean(オブジェクトアイテム)

    指定されたオブジェクトをブール値に変換します。

    表 : 21. パラメーター
    名前 タイプ 説明
    アイテム オブジェクト 変換するオブジェクト
    表 : 22. 返される内容
    タイプ 説明
    ブーリアン 指定されたオブジェクトがブール値の場合は、パススルーされます。ゼロ以外の数値は true を返します。null または未定義の場合は false を返します。文字列は、「true」と正確に等しい場合にのみ true を返します。
    var zero = 0;
    var one = 1;
    var number = 12;
    var trueBoolean = true;
    var trueString = "true";
    var otherString = "random text";
     
    gs.print("JSUtil.toBoolean(zero) = " + JSUtil.toBoolean(zero));
    gs.print("JSUtil.toBoolean(one) = " + JSUtil.toBoolean(one));
    gs.print("JSUtil.toBoolean(number) = " + JSUtil.toBoolean(number));
    gs.print("JSUtil.toBoolean(trueBoolean) = " + JSUtil.toBoolean(trueBoolean));
    gs.print("JSUtil.toBoolean(trueString) = " + JSUtil.toBoolean(trueString));
    gs.print("JSUtil.toBoolean(otherString) = " + JSUtil.toBoolean(otherString));
    出力:
    JSUtil.toBoolean(zero) = false
    JSUtil.toBoolean(one) = true
    JSUtil.toBoolean(number) = true
    JSUtil.toBoolean(trueBoolean) = true
    JSUtil.toBoolean(trueString) = true
    JSUtil.toBoolean(otherString) = false

    JSUtil:type_of(オブジェクト値)

    指定されたオブジェクトのタイプを決定します。

    表 : 23. パラメーター
    名前 タイプ 説明
    value オブジェクト チェックするオブジェクト
    表 : 24. 返される内容
    タイプ 説明
    文字列 指定されたオブジェクトのタイプ。
    • 指定された値が null または未定義の場合は「null」
    • 指定された値がプリミティブ文字列または文字列ラッパーインスタンスの場合は「string」
    • 指定された値がプリミティブ数値または数値ラッパーインスタンスの場合は「number」
    • 指定された値がプリミティブブール値またはブールラッパーインスタンスの場合は 'boolean'
    • 指定された値が関数の場合は「function」
    • それ以外の場合は「object」
    var a = ["a","b","c"];
    var b = 10;
    var c = new GlideRecord("incident");
    var d = true;
    var e;
     
    gs.print("JSUtil.type_of(a) = " + JSUtil.type_of(a));
    gs.print("JSUtil.type_of(b) = " + JSUtil.type_of(b));
    gs.print("JSUtil.type_of(c) = " + JSUtil.type_of(c));
    gs.print("JSUtil.type_of= " + JSUtil.type_of(d));
    gs.print("JSUtil.type_of(e) = " + JSUtil.type_of(e));
    出力:
    JSUtil.type_of(a) = object
    JSUtil.type_of(b) = number
    JSUtil.type_of(c) = object
    JSUtil.type_of= boolean
    JSUtil.type_of(e) = null

    JSUtil - unescapeAttr(文字列テキスト)

    エスケープされたテキストからアンパサンドを復元します。

    表 : 25. パラメーター
    名前 タイプ 説明
    テキスト 文字列 テキスト
    表 : 26. 返される内容
    タイプ 説明
    文字列 エスケープ文字を含むテキストが削除されました。
    var attr = "sysparm_query=active=true&sysparm_view=special";
     
    gs.print(JSUtil.unescapeAttr(attr));
    出力:
    sysparm_query=active=true&sysparm_view=special

    JSUtil - unescapeText(文字列テキスト)

    エスケープ文字を削除します。

    表 : 27. パラメーター
    名前 タイプ 説明
    テキスト 文字列 処理するテキスト。
    表 : 28. 返される内容
    タイプ 説明
    文字列 エスケープ文字のないテキスト。
    var html = "<b>This is my title</b>";
     
    gs.print(JSUtil.unescapeText(html));
    出力:これは返される値です。テキストがアプリケーションページに表示される場合は、html タグがレンダリングされ、テキストが太字で表示されます。
    <b>This is my title</b>