Cours Apps Script : les conditions (suite)

Lorsque vous effectuez une comparaison de 2 chaînes de caractères, rappelez-vous que la casse est prise en compte.


Majuscules / minuscules

Pour ne pas tenir compte de la casse, vous pouvez convertir en minuscules (ou en majuscules) la valeur testée avec la méthode toLowerCase (ou toUpperCase) :

const texte = 'Sheets-Pratique';

if (texte.toLowerCase() == 'sheets-pratique') {
  console.log(texte); // Affiche : Sheets-Pratique
}

Longueur

Pour une condition en fonction de la longueur d'une chaîne de caractères, utilisez la propriété length (comme avec les tableaux) :

const texte = 'Sheets-Pratique';

if (texte.length === 15) {
  console.log(texte); // Affiche : Sheets-Pratique
}

Contient

Pour vérifier si une chaîne de caractères contient une valeur, utilisez la méthode includes :

const texte = 'Sheets-Pratique.com';

if (texte.includes('Pratique')) {
  console.log('Oui'); // Affiche : Oui
}

Commence par

Pour vérifier si une chaîne de caractères commence par une valeur, utilisez la méthode startsWith :

const texte = 'Sheets-Pratique.com';

if (texte.startsWith('Sheets')) {
  console.log('Oui'); // Affiche : Oui
}

Se termine par

Pour vérifier si une chaîne de caractères se termine par une valeur, utilisez la méthode endsWith :

const texte = 'Sheets-Pratique.com';

if (texte.endsWith('.com')) {
  console.log('Oui'); // Affiche : Oui
}

Trim

Si la chaîne de caractères peut contenir des espaces indésirables au début ou en fin de chaîne, utilisez la méthode trim pour les retirer :

const texte = ' Sheets-Pratique.com  '.trim();
console.log(texte); // Affiche : Sheets-Pratique.com

Portée des variables

Il est temps de faire une parenthèse sur la portée des variables et des constantes ...

Celles-ci ont une portée qui se limitent au bloc dans lequel elles sont déclarées (un bloc est délimité par une paire de {}).

Prenons un exemple :

const test = true;

if (test) {
  let resultat = 'oui';
} else {
  let resultat = 'non';
}

console.log(resultat); // ReferenceError: resultat is not defined

Ici, la variable resultat est déclarée dans le bloc de la condition, il n'est donc pas possible d'accéder à cette valeur en dehors du bloc.

Pour régler ce problème, il faut déclarer la variable avant la condition :

const test = true;
let resultat;

if (test) {
  resultat = 'oui';
} else {
  resultat = 'non';
}

console.log(resultat); // Affiche : oui

Indentation et lisibilité du code

Vous l'avez peut-être remarqué, les différents exemples sont toujours indentés, autrement dit le code à l'intérieur d'un bloc est décalé vers la droite pour une meilleure lecture du code (et visualiser plus facilement les différents blocs).

En plus de l'indentation, pensez aussi à choisir des noms de variables explicites, à laisser des espaces et à commenter votre code.

Pour l'exemple, essayez de comprendre ce code et de visualiser les différents blocs :

function demo() {
const t=4;
let m='Erreur';
if(t>0){
if(t%2==0){
if(t<10){
m='Nombre pair plus petit que 10';
}else if(t===10){
m='Nombre pair égal à 10';
}else{
m='Nombre pair plus grand que 10';
}
}else{
m='Nombre impair';
}
}
console.log(m);
}

Voici maintenant le même code mais plus lisible, indenté, espacé et commenté :

function demo() {

  const test = 4;
  let message = 'Erreur';

  // Si test est plus grand que 0
  if (test > 0) {

    // Si test est un nombre pair
    if (test % 2 == 0) { // Le reste de la division des nombres pairs divisés par 2 = 0

      // Message en fonction de la valeur de test
      if (test < 10) {
        message = 'Nombre pair plus petit que 10';
      } else if (test === 10) {
        message = 'Nombre pair égal à 10';
      } else {
        message = 'Nombre pair plus grand que 10';
      }

    // Si test est un nombre impair
    } else {
      message = 'Nombre impair';
    }
  }

  console.log(message); // Affiche : Nombre pair plus petit que 10
}
Pour décaler une partie du code vers la droite, sélectionnez simplement les lignes concernées et appuyez sur la touche Tab (ou Maj + Tab pour aller vers la gauche).

Commentaires

Vous aurez parfois besoin de mettre en commentaire plusieurs lignes de code (par exemple, pour tester seulement une partie du code, ou pour ne pas supprimer certaines lignes tout de suite).

Pour mettre en commentaires plusieurs lignes, entourez simplement le code concerné par /* et */ :

function demo() {

  const test = 4;
  let message = 'Erreur';

  /*
  // Si test est plus grand que 0
  if (test > 0) {

    // Si test est un nombre pair
    if (test % 2 == 0) { // Le reste de la division des nombres pairs divisés par 2 = 0

      // Message en fonction de la valeur de test
      if (test < 10) {
        message = 'Nombre pair plus petit que 10';
      } else if (test === 10) {
        message = 'Nombre pair égal à 10';
      } else {
        message = 'Nombre pair plus grand que 10';
      }

    // Si test est un nombre impair
    } else {
      message = 'Nombre impair';
    }
  }
  */

  console.log(message); // Affiche : Erreur
}