JSUtil - Global

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 7 min. de leitura
  • A inclusão de script JSUtil fornece atalhos para rotinas JavaScript comuns.

    Esta API está disponível em scripts globais do lado do servidor, não em scripts com escopo.

    JSUtil - hasNotHave(item de objeto)

    Verifica se o item é nulo ou indefinido.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    item Objeto O objeto a ser verificado
    Tabela 2. Retornos
    Tipo Descrição
    Booliano Verdadeiro se o objeto especificado for nulo ou indefinido.
    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))
    Saída:
    x = 'the quick brown fox', JSUtil.doesNotHave(x) = false
    y = '', JSUtil.doesNotHave(y) = false
    z = 'undefined', JSUtil.doesNotHave(z) = true

    JSUtil - escapeAttr(cadeia de caracteres text)

    Escape e comercial comumente usados para definir atributos de URL.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    texto Cadeia de caracteres O texto
    Tabela 4. Retornos
    Tipo Descrição
    Cadeia de caracteres O texto com e comercial teve o escape correto.
    var attr = "sysparm_query=active=true&sysparm_view=special";
     
    gs.print(JSUtil.escapeAttr(attr));
    Saída: este é o texto retornado. Se o texto for exibido na aplicação, a página renderizará o e comercial de escape com um único e comercial.
    sysparm_query=active=true&sysparm_view=special

    JSUtil - escapeText(cadeia de caracteres text)

    Escapa caracteres XML inválidos, como "< > &".

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    texto Cadeia de caracteres O texto
    Tabela 6. Retornos
    Tipo Descrição
    Cadeia de caracteres O texto com caracteres de escape adicionados.
    var html = "<b>This is my title</b>";
     
    gs.print(JSUtil.escapeText(html));
    Saída: este é o valor retornado. Se o resultado for exibido na aplicação, a página renderizará os colchetes para que pareça que não foi escapado.
    <b>This is my title</b>

    JSUtil - getBooleanValue(GlideRecord now_GR, campo de cadeia de caracteres)

    Retorna o valor em um campo GlideRecord booliano.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    now_GR GlideRecord Um GlideRecord
    Assunto: Cadeia de caracteres O campo do qual o valor booliano será recuperado.
    Tabela 8. Retornos
    Tipo Descrição
    Booliano Retorna o valor em um campo GlideRecord booliano, retorna verdadeiro se o valor do campo for verdadeiro, "verdadeiro", 1 ou "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"));

    Saída: verdadeiro

    JSUtil - has(item de objeto)

    Verifica se o item não é nulo e indefinido.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    item Objeto O objeto a ser verificado
    Tabela 10. Retornos
    Tipo Descrição
    Booliano Verdadeiro se o objeto especificado não for nulo e não for indefinido.
    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));
    Saída:
    x = 'the quick brown fox', JSUtil.has(x) = true
    y = '', JSUtil.has(y) = true
    z = 'undefined', JSUtil.has(z) = false

    JSUtil - instance_of (item de objeto, classe de cadeia de caracteres)

    Verifica se o objeto especificado é um membro da classe especificada.

    Para objetos JavaScript, este método se comporta exatamente como o operador JavaScript "instanceof", mas também oferece suporte a objetos Java.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    item Objeto O objeto a ser verificado
    classe Cadeia de caracteres A classe a ser verificada
    Tabela 12. Retornos
    Tipo Descrição
    Booliano Verdadeiro se o objeto especificado for um membro da classe especificada.
    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));
    Saída:
    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(valor do objeto)

    Verifica se o objeto especificado é uma classe Java.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    valor Objeto O objeto a ser verificado
    Tabela 14. Retornos
    Tipo Descrição
    Booliano Verdadeiro se o objeto especificado for uma instância de uma classe Java.
    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));
    Saída:
    JSUtil.isJavaObject(classes) = true
    JSUtil.isJavaObject(tables) = false

    JSUtil - logObject (objeto de objeto, nome de cadeia de caracteres)

    Registra em log todas as propriedades no objeto fornecido: nome, tipo e valor.

    A saída será gravada no console se você estiver executando a partir de um script em segundo plano ou se o registro em log de depuração estiver habilitado. A saída também é gravada no log do sistema.

    Tabela 15. Parâmetros
    Nome Tipo Descrição
    obj Objeto O objeto para o qual enumerar propriedades
    nome Cadeia de caracteres Nome opcional para o objeto registrado
    Tabela 16. Retornos
    Tipo Descrição
    vazio
    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");
    Saída:
    Log Object: arr
      Array of 3 elements
        [0]: string = a
        [1]: string = b
        [2]: string = c
    Log Object: inc
      GlideRecord('incident') @ INC0000002

    JSUtil – nil(item do objeto)

    Verifica se o item é nulo, indefinido ou é avaliado como uma cadeia de caracteres vazia.

    Tabela 17. Parâmetros
    Nome Tipo Descrição
    item Objeto O objeto a ser verificado
    Tabela 18. Retornos
    Tipo Descrição
    Booliano Verdadeiro se o item for nulo, indefinido ou avaliado como uma cadeia de caracteres vazia.
    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));
    Saída:
    x = 'the quick brown fox', JSUtil.nil(x) = false
    y = '', JSUtil.nil(y) = true
    z = 'undefined', JSUtil.nil(z) = true

    JSUtil - notNil(item do objeto)

    Verifica se um item é nulo, indefinido ou é avaliado como uma cadeia de caracteres vazia.

    Nota:
    Este método retornará um erro se o objeto fornecido não for declarado.
    Tabela 19. Parâmetros
    Nome Tipo Descrição
    item Objeto O objeto a ser verificado.
    Tabela 20. Retornos
    Tipo Descrição
    Booliano Sinalizador que indica se o item existe e não está vazio. Um erro será retornado se o objeto fornecido não for declarado.
    Valores válidos:
    • verdadeiro: o objeto fornecido foi declarado e definido. Se o objeto for uma cadeia de caracteres, ele não estará vazio.
    • falso: o objeto fornecido é nulo, indefinido ou é avaliado como uma cadeia de caracteres vazia.

    O exemplo a seguir mostra resultados para uma variável de cadeia de caracteres, uma variável de cadeia de caracteres vazia e uma variável indefinida.

    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));
    Saída:
    x = 'the quick brown fox', JSUtil.notNil(x) = true
    y = '', JSUtil.notNil(y) = false
    z = 'undefined', JSUtil.notNil(z) = false

    JSUtil - toBoolean(item do objeto)

    Converte o objeto especificado em um booliano.

    Tabela 21. Parâmetros
    Nome Tipo Descrição
    item Objeto O objeto a ser convertido
    Tabela 22. Retornos
    Tipo Descrição
    Booliano Se o objeto especificado for um booliano, ele será passado. Números diferentes de zero retornam verdadeiro. Retorno nulo ou indefinido falso. As cadeias de caracteres retornarão verdadeiro somente se forem exatamente iguais a "verdadeiro".
    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));
    Saída:
    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 (valor do objeto)

    Determina o tipo do objeto especificado.

    Tabela 23. Parâmetros
    Nome Tipo Descrição
    valor Objeto O objeto a ser verificado
    Tabela 24. Retornos
    Tipo Descrição
    Cadeia de caracteres O tipo do objeto especificado.
    • 'nulo' se o valor fornecido for nulo ou indefinido
    • 'cadeia de caracteres' se o valor fornecido for uma cadeia de caracteres primária ou uma instância de wrapper de cadeia de caracteres
    • 'number' se o valor fornecido for um número primitivo ou uma instância de wrapper de número
    • 'booliano' se o valor fornecido for um booliano primitivo ou uma instância de wrapper booliano
    • 'function' se o valor fornecido for uma função
    • 'objeto' caso contrário
    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));
    Saída:
    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(cadeia de caracteres text)

    Restaurar e comercial do texto de escape.

    Tabela 25. Parâmetros
    Nome Tipo Descrição
    texto Cadeia de caracteres O texto
    Tabela 26. Retornos
    Tipo Descrição
    Cadeia de caracteres O texto com caracteres de escape removidos.
    var attr = "sysparm_query=active=true&sysparm_view=special";
     
    gs.print(JSUtil.unescapeAttr(attr));
    Saída:
    sysparm_query=active=true&sysparm_view=special

    JSUtil - unescapeText(cadeia de caracteres text)

    Remove caracteres de escape.

    Tabela 27. Parâmetros
    Nome Tipo Descrição
    texto Cadeia de caracteres O texto a ser processado.
    Tabela 28. Retornos
    Tipo Descrição
    Cadeia de caracteres O texto sem caracteres de escape.
    var html = "<b>This is my title</b>";
     
    gs.print(JSUtil.unescapeText(html));
    Saída: este é o valor retornado. Se o texto for exibido na página da aplicação, ele renderizará os marcadores html e exibirá o texto em negrito.
    <b>This is my title</b>