JSUtil - グローバル
JSUtil API は、一般的な JavaScript ルーチンのショートカットを提供します。
この API は、スコープ付きスクリプトではなく、グローバルサーバー側スクリプトで使用できます。
JSUtil - doesNotHave(オブジェクト item)
アイテムが null または未定義であるかどうかを確認します。
| 名前 | タイプ | 説明 |
|---|---|---|
| item | オブジェクト | チェック対象のオブジェクト |
| タイプ | 説明 |
|---|---|
| ブーリアン | 指定されたオブジェクトが 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) = trueJSUtil - escapeAttr(文字列 text)
URL 属性を定義するためによく用いられるエスケープのアンパサンド。
| 名前 | タイプ | 説明 |
|---|---|---|
| text | 文字列 | テキスト |
| タイプ | 説明 |
|---|---|
| 文字列 | アンパサンドが適切にエスケープされたテキスト。 |
var attr = "sysparm_query=active=true&sysparm_view=special";
gs.print(JSUtil.escapeAttr(attr));
sysparm_query=active=true&sysparm_view=specialJSUtil - escapeText(文字列 text)
「< > &」などの無効な XML 文字をエスケープします。
| 名前 | タイプ | 説明 |
|---|---|---|
| text | 文字列 | テキスト |
| タイプ | 説明 |
|---|---|
| 文字列 | エスケープ文字が追加されたテキスト。 |
var html = "<b>This is my title</b>";
gs.print(JSUtil.escapeText(html));
<b>This is my title</b>JSUtil - getBooleanValue(GlideRecord now_GR, 文字列 field)
ブーリアンの GlideRecord フィールドの値を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| now_GR | GlideRecord | GlideRecord |
| field | 文字列 | ブーリアン値の取得元となるフィールド。 |
| タイプ | 説明 |
|---|---|
| ブーリアン | ブーリアンの 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(オブジェクト item)
アイテムが null でも未定義でもないかどうかを確認します。
| 名前 | タイプ | 説明 |
|---|---|---|
| item | オブジェクト | チェック対象のオブジェクト |
| タイプ | 説明 |
|---|---|
| ブーリアン | 指定されたオブジェクトが 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) = falseJSUtil - instance_of(オブジェクト item, 文字列 class)
指定されたオブジェクトが指定されたクラスのメンバーであるかどうかを確認します。
JavaScript オブジェクトの場合、このメソッドは JavaScript オペレーター「instanceof」とまったく同様に動作しますが、Java オブジェクトもサポートします。
| 名前 | タイプ | 説明 |
|---|---|---|
| item | オブジェクト | チェック対象のオブジェクト |
| class | 文字列 | チェックするクラス |
| タイプ | 説明 |
|---|---|
| ブーリアン | 指定されたオブジェクトが指定されたクラスのメンバーである場合は 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') = trueJSUtil - isJavaObject(オブジェクト value)
指定されたオブジェクトが Java クラスかどうかをチェックします。
| 名前 | タイプ | 説明 |
|---|---|---|
| value | オブジェクト | チェック対象のオブジェクト |
| タイプ | 説明 |
|---|---|
| ブーリアン | 指定されたオブジェクトが 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) = falseJSUtil - logObject(オブジェクト obj, 文字列 name)
指定されたオブジェクトのすべてのプロパティ (名前、タイプ、および値) をログに記録します。
バックグラウンドスクリプトから実行している場合、またはデバッグログを有効にしている場合、出力はコンソールに書き込まれます。出力はシステムログにも書き込まれます。
| 名前 | タイプ | 説明 |
|---|---|---|
| obj | オブジェクト | プロパティを列挙する対象のオブジェクト |
| name | 文字列 | ログに記録されるオブジェクトのオプションの名前 |
| タイプ | 説明 |
|---|---|
| なし |
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') @ INC0000002JSUtil - nil(オブジェクト item)
アイテムが null か、未定義か、または空の文字列に評価されるかを確認します。
| 名前 | タイプ | 説明 |
|---|---|---|
| item | オブジェクト | チェック対象のオブジェクト |
| タイプ | 説明 |
|---|---|
| ブーリアン | アイテムが 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) = trueJSUtil - notNil(オブジェクト item)
アイテムが null か、未定義か、または空の文字列に評価されるかを確認します。
| 名前 | タイプ | 説明 |
|---|---|---|
| item | オブジェクト | チェック対象のオブジェクト。 |
| タイプ | 説明 |
|---|---|
| ブール | アイテムが存在し、空ではないことを示すフラグ。指定されたオブジェクトが宣言されていない場合は、エラーが返されます。 有効な値:
|
次の例は、文字列変数、空の文字列変数、および未定義の変数の結果を示しています。
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) = falseJSUtil - toBoolean(オブジェクト item)
指定されたオブジェクトをブーリアン値に変換します。
| 名前 | タイプ | 説明 |
|---|---|---|
| item | オブジェクト | 変換するオブジェクト |
| タイプ | 説明 |
|---|---|
| ブーリアン | 指定されたオブジェクトがブーリアン値の場合はパスされます。ゼロ以外の数値の場合は 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) = falseJSUtil - type_of(オブジェクト value)
指定されたオブジェクトのタイプを判断します。
| 名前 | タイプ | 説明 |
|---|---|---|
| value | オブジェクト | チェック対象のオブジェクト |
| タイプ | 説明 |
|---|---|
| 文字列 | 指定されたオブジェクトのタイプ。
|
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) = nullJSUtil - unescapeAttr(文字列 text)
エスケープされたテキストからアンパサンドを復元します。
| 名前 | タイプ | 説明 |
|---|---|---|
| text | 文字列 | テキスト |
| タイプ | 説明 |
|---|---|
| 文字列 | エスケープ文字が削除されたテキスト。 |
var attr = "sysparm_query=active=true&sysparm_view=special";
gs.print(JSUtil.unescapeAttr(attr));
sysparm_query=active=true&sysparm_view=specialJSUtil - unescapeText(文字列 text)
エスケープ文字を削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| text | 文字列 | 処理対象のテキスト。 |
| タイプ | 説明 |
|---|---|
| 文字列 | エスケープ文字がないテキスト。 |
var html = "<b>This is my title</b>";
gs.print(JSUtil.unescapeText(html));
<b>This is my title</b>