JSUtil - 전역
JSUtil 스크립트 포함은 일반적인 JavaScript 루틴에 대한 단축키를 제공합니다.
이 API는 범위가 지정된 스크립트가 아닌 전역 서버 측 스크립트에서 사용할 수 있습니다.
JSUtil - doesNotHave(객체 항목)
항목이 null이거나 정의되지 않았는지 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 항목 | 객체 | 검사할 객체 |
| 유형 | 설명 |
|---|---|
| 부울 | 지정된 개체가 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(문자열 텍스트)
URL 속성을 정의하는 데 일반적으로 사용되는 이스케이프 앰퍼샌드입니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 텍스트 | 문자열 | 본문 |
| 유형 | 설명 |
|---|---|
| 문자열 | 앰퍼샌드가 있는 텍스트가 제대로 이스케이프되었습니다. |
var attr = "sysparm_query=active=true&sysparm_view=special";
gs.print(JSUtil.escapeAttr(attr));
출력: 반환된 텍스트입니다. 텍스트가 응용 프로그램에 표시되는 경우 페이지는 이스케이프된 앰퍼샌드를 단일 앰퍼샌드로 렌더링합니다.
sysparm_query=active=true&sysparm_view=specialJSUtil - escapeText(문자열 텍스트)
"< > &"와 같은 잘못된 XML 문자를 이스케이프합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 텍스트 | 문자열 | 본문 |
| 유형 | 설명 |
|---|---|
| 문자열 | 이스케이프 문자가 추가된 텍스트입니다. |
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 필드의 값을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| now_GR | GlideRecord | A GlideRecord |
| 필드 | 문자열 | 부울 값을 검색할 필드입니다. |
| 유형 | 설명 |
|---|---|
| 부울 | 부울 GlideRecord 필드의 값을 반환하고 필드 값이 예, "예", 1 또는 "1"인 경우 예를 반환합니다. |
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이 아니고 정의되지 않았는지 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 항목 | 객체 | 검사 대상 객체 |
| 유형 | 설명 |
|---|---|
| 부울 | 지정된 개체가 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(객체 항목, 문자열 클래스)
지정된 개체가 지정된 클래스의 멤버인지 확인합니다.
JavaScript 객체의 경우 이 메서드는 JavaScript 연산자 "instanceof"와 똑같이 동작하지만 Java 객체도 지원합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 항목 | 객체 | 검사할 객체 |
| 클래스 | 문자열 | 확인할 클래스 |
| 유형 | 설명 |
|---|---|
| 부울 | 지정된 개체가 지정된 클래스의 멤버인 경우 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(객체 값)
지정된 객체가 Java 클래스인지 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 값 | 객체 | 검사할 객체 |
| 유형 | 설명 |
|---|---|
| 부울 | 지정된 객체가 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, 문자열 이름)
지정된 객체의 모든 속성(이름, 유형 및 값)을 기록합니다.
백그라운드 스크립트에서 실행 중이거나 디버그 로깅을 사용하는 경우 출력이 콘솔에 기록됩니다. 출력은 시스템 로그에도 기록됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| obj | 객체 | 속성을 열거할 객체 |
| 이름 | 문자열 | 로깅된 객체의 선택적 이름 |
| 유형 | 설명 |
|---|---|
| void |
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(객체 항목)
항목이 null이거나, 정의되지 않았거나, 빈 문자열로 평가되는지 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 항목 | 객체 | 검사할 객체 |
| 유형 | 설명 |
|---|---|
| 부울 | 항목이 null이거나, 정의되지 않았거나, 빈 문자열로 평가되는 경우 예입니다. |
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(객체 항목)
항목이 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) = falseJSUtil - toBoolean(객체 항목)
지정된 객체를 부울로 변환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 항목 | 객체 | 변환할 객체 |
| 유형 | 설명 |
|---|---|
| 부울 | 지정된 객체가 부울이면 통과됩니다. 0이 아닌 숫자는 true를 반환합니다. Null 또는 undefined는 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(객체 값)
지정된 객체의 유형을 결정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 값 | 객체 | 검사할 객체 |
| 유형 | 설명 |
|---|---|
| 문자열 | 지정된 객체의 유형입니다.
|
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(문자열 텍스트)
이스케이프된 텍스트에서 앰퍼샌드를 복원합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 텍스트 | 문자열 | 본문 |
| 유형 | 설명 |
|---|---|
| 문자열 | 이스케이프 문자가 제거된 텍스트입니다. |
var attr = "sysparm_query=active=true&sysparm_view=special";
gs.print(JSUtil.unescapeAttr(attr));
출력:
sysparm_query=active=true&sysparm_view=specialJSUtil - unescapeText(문자열 텍스트)
이스케이프 문자를 제거합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 텍스트 | 문자열 | 처리할 텍스트입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 이스케이프 문자를 제외한 텍스트입니다. |
var html = "<b>This is my title</b>";
gs.print(JSUtil.unescapeText(html));
출력: 반환된 값입니다. 텍스트가 응용 프로그램의 페이지에 표시되면 html 태그가 렌더링되고 텍스트가 굵게 표시됩니다.
<b>This is my title</b>