JSUtil - 전역

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 12분
  • 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 필드의 값을 반환합니다. 필드 값이 예, "예", 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이 아니고 정의되지 않은 것이 아닌지 확인합니다.

    표 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. 매개변수
    이름 유형 설명
    항목 객체 검사할 객체
    클래스 문자열 검사할 클래스
    표 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. 매개변수
    이름 유형 설명
    객체 검사할 객체
    표 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(객체 obj, 문자열 이름)

    지정된 개체의 모든 속성(이름, 유형 및 값)을 기록합니다.

    백그라운드 스크립트에서 실행 중이거나 디버그 로깅을 사용하도록 설정한 경우 출력이 콘솔에 기록됩니다. 출력은 시스템 로그에도 기록됩니다.

    표 15. 매개변수
    이름 유형 설명
    obj 객체 속성을 열거할 객체
    이름 문자열 로깅된 객체의 선택적 이름
    표 16. 반환
    유형 설명
    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') @ 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. 반환
    유형 설명
    부울 지정된 객체가 부울이면 전달됩니다. 0이 아닌 숫자는 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. 매개변수
    이름 유형 설명
    객체 검사할 객체
    표 24. 반환
    유형 설명
    문자열 지정된 객체의 유형입니다.
    • 지정된 값이 null이거나 정의되지 않은 경우 "null"
    • 'string' - 주어진 값이 원시 문자열이거나 문자열 래퍼 인스턴스인 경우
    • "number" - 지정한 값이 원시 숫자 또는 숫자 래퍼 인스턴스인 경우
    • "boolean" - 지정한 값이 기본 부울 또는 부울 래퍼 인스턴스인 경우
    • 지정된 값이 함수인 경우 '함수'
    • '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>