JSUtil - Global

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 7 minutes de lecture
  • L’include de script JSUtil fournit des raccourcis pour les routines JavaScript courantes.

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

    JSUtil : doesNotHave(élément d’objet)

    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 non dé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(texte de chaîne)

    Les esperluettes d’échappement sont 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(texte de chaîne)

    É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é.
    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 afin qu’il apparaisse 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 d’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 ; 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 : vrai

    JSUtil : has(élément d’objet)

    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înes)

    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 la 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 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 d’objet)

    Vérifie si l’élément est nul, non défini ou s’il équivaut à 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 équivaut à 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(élément d’objet)

    Vérifie si un élément est nul, non défini ou s’il équivaut à la 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 qui indique 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 type chaîne, une variable de type 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. Des nombres non nuls renvoient la valeur vrai. Null ou undefined renvoie false. Les chaînes ne renvoient la valeur vrai que si elle est exactement identique à la valeur « 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 d’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
    • « booléen » 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
    • 'objet' dans le cas contraire
    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(texte de chaîne)

    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 a été supprimé.
    var attr = "sysparm_query=active=true&sysparm_view=special";
     
    gs.print(JSUtil.unescapeAttr(attr));
    Sortie :
    sysparm_query=active=true&sysparm_view=special

    JSUtil : unescapeText(texte de chaîne)

    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 l’application de la page, il restitue les balises html et affiche le texte en gras.
    <b>This is my title</b>