JSUtil : global

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 7 minutes de lecture
  • L’API JSUtil fournit des raccourcis pour les routines JavaScript courantes.

    Cette API est disponible dans les scripts côté serveur globaux, et non dans les scripts inclus dans le périmètre.

    JSUtil : doesNotHave(Object item)

    Vérifie si l’élément est nul ou non défini.

    Tableau 1. Paramètres
    Nom Type Description
    Élément Objet Objet à vérifier
    Tableau 2. Renvoie
    Type Description
    Booléen Vrai si l’objet spécifié est nul ou indéfini.
    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))
    Sortie :
    x = 'the quick brown fox', JSUtil.doesNotHave(x) = false
    y = '', JSUtil.doesNotHave(y) = false
    z = 'undefined', JSUtil.doesNotHave(z) = true

    JSUtil - escapeAttr(String text)

    Les esperluettes d’échappement couramment utilisées pour définir les attributs d’URL.

    Tableau 3. Paramètres
    Nom Type Description
    Texte Chaîne Le texte
    Tableau 4. Renvoie
    Type Description
    Chaîne Le texte avec des esperluettes s’est correctement échappé.
    var attr = "sysparm_query=active=true&sysparm_view=special";
     
    gs.print(JSUtil.escapeAttr(attr));
    Sortie : il s’agit du texte renvoyé. Si le texte est affiché dans l’application, la page affichera l’esperluette d’échappement avec une seule esperluette.
    sysparm_query=active=true&sysparm_view=special

    JSUtil - escapeText(String text)

    Échappe les caractères XML non valides tels que « < > & ».

    Tableau 5. Paramètres
    Nom Type Description
    Texte Chaîne Le texte
    Tableau 6. Renvoie
    Type Description
    Chaîne Texte avec caractères d’échappement ajoutés.
    var html = "<b>This is my title</b>";
     
    gs.print(JSUtil.escapeText(html));
    Sortie : il s’agit de la valeur renvoyée. Si le résultat est affiché dans l’application, la page affiche les crochets pour donner l’impression qu’il n’y a pas d’échappement.
    <b>This is my title</b>

    JSUtil : getBooleanValue(GlideRecord now_GR, champ de chaîne)

    Renvoie la valeur dans un champ booléen GlideRecord.

    Tableau 7. Paramètres
    Nom Type Description
    now_GR GlideRecord Un GlideRecord
    champ Chaîne Champ à partir duquel récupérer la valeur booléenne.
    Tableau 8. Renvoie
    Type Description
    Booléen Renvoie la valeur d’un champ booléen GlideRecord et renvoie la valeur true si la valeur du champ est vrai, « vrai », 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"));

    Sortie : true

    JSUtil - has(Object item)

    Vérifie si l’élément n’est pas nul et n’est pas indéfini.

    Tableau 9. Paramètres
    Nom Type Description
    Élément Objet Objet à vérifier
    Tableau 10. Renvoie
    Type Description
    Booléen Vrai si l’objet spécifié n’est pas nul et n’est pas indéfini.
    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));
    Sortie :
    x = 'the quick brown fox', JSUtil.has(x) = true
    y = '', JSUtil.has(y) = true
    z = 'undefined', JSUtil.has(z) = false

    JSUtil - instance_of(objet élément, classe de chaîne)

    Vérifie si l’objet spécifié est membre de la classe spécifiée.

    Pour les objets JavaScript, cette méthode se comporte exactement comme l’opérateur JavaScript « instanceof », mais prend également en charge les objets Java.

    Tableau 11. Paramètres
    Nom Type Description
    Élément Objet Objet à vérifier
    Classe Chaîne La classe à vérifier
    Tableau 12. Renvoie
    Type Description
    Booléen Vrai si l’objet spécifié est membre de la classe spécifiée.
    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));
    Sortie :
    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(valeur de l’objet)

    Vérifie si l’objet spécifié est une classe Java.

    Tableau 13. Paramètres
    Nom Type Description
    valide Objet Objet à vérifier
    Tableau 14. Renvoie
    Type Description
    Booléen Vrai si l’objet spécifié est une instance d’une 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));
    Sortie :
    JSUtil.isJavaObject(classes) = true
    JSUtil.isJavaObject(tables) = false

    JSUtil - logObject(objet obj, nom de chaîne)

    Consigne toutes les propriétés de l’objet donné : nom, type et valeur.

    La sortie est écrite dans la console si vous exécutez à partir d’un script en arrière-plan ou si la journalisation de débogage est activée. La sortie est également écrite dans le journal système.

    Tableau 15. Paramètres
    Nom Type Description
    obj. Objet Objet pour lequel énumérer les propriétés
    nom Chaîne Nom facultatif de l’objet journalisé
    Tableau 16. Renvoie
    Type Description
    nul
    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");
    Sortie :
    Log Object: arr
      Array of 3 elements
        [0]: string = a
        [1]: string = b
        [2]: string = c
    Log Object: inc
      GlideRecord('incident') @ INC0000002

    JSUtil - néant(élément objet)

    Vérifie si l’élément est nul, non défini ou correspond à une chaîne vide.

    Tableau 17. Paramètres
    Nom Type Description
    Élément Objet Objet à vérifier
    Tableau 18. Renvoie
    Type Description
    Booléen Vrai si l’élément est nul, non défini ou correspond à une chaîne vide.
    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));
    Sortie :
    x = 'the quick brown fox', JSUtil.nil(x) = false
    y = '', JSUtil.nil(y) = true
    z = 'undefined', JSUtil.nil(z) = true

    JSUtil - notNil(Object item)

    Vérifie si un élément est nul, non défini ou s’il est évalué comme chaîne vide.

    Remarque :
    Cette méthode renvoie une erreur si l’objet fourni n’est pas déclaré.
    Tableau 19. Paramètres
    Nom Type Description
    Élément Objet Objet à vérifier.
    Tableau 20. Renvoie
    Type Description
    Booléen Marqueur indiquant si l’élément existe et n’est pas vide. Une erreur est renvoyée si l’objet fourni n’est pas déclaré.
    Valeurs valides :
    • true : l’objet fourni a été déclaré et défini. Si l’objet est une chaîne de caractères, il n’est pas vide.
    • false : l’objet fourni est nul, non défini ou équivaut à une chaîne vide.

    L’exemple suivant montre les résultats pour une variable de chaîne, une variable de chaîne vide et une variable non définie.

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

    JSUtil - toBoolean(Object item)

    Convertit l’objet spécifié en booléen.

    Tableau 21. Paramètres
    Nom Type Description
    Élément Objet Objet à convertir
    Tableau 22. Renvoie
    Type Description
    Booléen Si l’objet spécifié est un booléen, il est transmis. Les nombres autres que zéro renvoient la valeur true. Null ou undefined renvoie false. Les chaînes ne renvoient vrai que si elles sont exactement égales à « vrai ».
    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));
    Sortie :
    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(valeur de l’objet)

    Détermine le type de l’objet spécifié.

    Tableau 23. Paramètres
    Nom Type Description
    valide Objet Objet à vérifier
    Tableau 24. Renvoie
    Type Description
    Chaîne Type de l’objet spécifié.
    • 'null' si la valeur donnée est null ou non définie
    • 'string' si la valeur donnée est une chaîne primitive ou une instance de couche de chaîne
    • 'number' si la valeur donnée est un nombre primitif ou une instance de couche de nombre
    • 'boolean' si la valeur donnée est un booléen primitif ou une instance de couche booléenne
    • 'function' si la valeur donnée est une fonction
    • 'object' sinon
    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));
    Sortie :
    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(String text)

    Restaurez les esperluettes à partir d’un texte d’échappement.

    Tableau 25. Paramètres
    Nom Type Description
    Texte Chaîne Le texte
    Tableau 26. Renvoie
    Type Description
    Chaîne Le texte avec les caractères d’échappement supprimés.
    var attr = "sysparm_query=active=true&sysparm_view=special";
     
    gs.print(JSUtil.unescapeAttr(attr));
    Sortie :
    sysparm_query=active=true&sysparm_view=special

    JSUtil - unescapeText(String text)

    Supprime les caractères d’échappement.

    Tableau 27. Paramètres
    Nom Type Description
    Texte Chaîne Texte à traiter.
    Tableau 28. Renvoie
    Type Description
    Chaîne Le texte sans caractères d’échappement.
    var html = "<b>This is my title</b>";
     
    gs.print(JSUtil.unescapeText(html));
    Sortie : il s’agit de la valeur renvoyée. Si le texte est affiché dans la page de l’application, il restitue les balises html et affiche le texte en gras.
    <b>This is my title</b>