0Pricing
JavaScript Academy · Leçon

E1 — Évaluateur d’expressions (1re partie : + et - de gauche à droite)

Implémentez un petit évaluateur qui gère + et - de gauche à droite. Découpez les chiffres et les opérateurs, ignorez les espaces et ajoutez de simples gardes

E1 — Évaluateur d’expressions (1re partie : + et - de gauche à droite) est une leçon JavaScript Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage JavaScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours JavaScript Academy comprend 3 leçons au total.

Ce que nous allons construire

Objectif : évaluer de petites chaînes mathématiques avec + et - uniquement.

  • Découper les nombres et les opérateurs en jetons
  • Ignorer les espaces
  • Calculer de gauche à droite
  • Ajouter de simples protections contre les erreurs
E1 — Évaluateur d’expressions (1re partie : + et - de gauche à droite) — illustration 1

Découpage en jetons : nombres et opérateurs

Le découpeur construit des nombres à partir des chiffres et renvoie un tableau tel que [12, "+", 3, "-", 4].

// Tokenize: split into numbers and operators; ignore spaces
function tokenize(expr) {
  if (typeof expr !== "string") return null;

  const tokens = [];
  let num = "";

  for (let i = 0; i < expr.length; i = i + 1) {
    const ch = expr[i];

    if (ch === " ") {
      // skip spaces
      continue;
    }

    if (ch >= "0" && ch <= "9") {
      // build number
      num = num + ch;
    } else if (ch === "+" || ch === "-") {
      // flush pending number
      if (num.length > 0) {
        tokens.push(Number(num));
        num = "";
      }
      tokens.push(ch);
    } else {
      // unsupported character
      return null;
    }
  }

  if (num.length > 0) tokens.push(Number(num));
  return tokens;
}

console.log("tokens:", tokenize("12 + 3 - 4"));
E1 — Évaluateur d’expressions (1re partie : + et - de gauche à droite) — illustration 2

Évaluation de gauche à droite (LTR, +/-)

Calculez de gauche à droite. Nous ne gérons pas encore la priorité ni les parenthèses.

// Evaluate tokens left-to-right for + and - only
function evalPlusMinus(tokens) {
  if (!Array.isArray(tokens) || tokens.length === 0) return null;

  // result starts with first number
  let acc = tokens[0];
  if (typeof acc !== "number") return null;

  // step through [op, num] pairs
  for (let i = 1; i < tokens.length; i = i + 2) {
    const op = tokens[i];
    const val = tokens[i + 1];

    if ((op !== "+" && op !== "-") || typeof val !== "number") {
      return null;
    }

    if (op === "+") acc = acc + val;
    else acc = acc - val;
  }

  return acc;
}

console.log("eval 10-3-2:", evalPlusMinus([10, "-", 3, "-", 2]));
E1 — Évaluateur d’expressions (1re partie : + et - de gauche à droite) — illustration 3

Enveloppe sûre

Créez une safe enveloppe qui renvoie soit une valeur, soit une petite chaîne d’erreur facile à comprendre pour les débutants.

// Glue the pieces: from string to result
function evalExprSimple(expr) {
  const tokens = tokenize(expr);
  if (tokens === null) {
    return { ok: false, error: "Invalid character" };
  }
  const result = evalPlusMinus(tokens);
  if (typeof result !== "number") {
    return { ok: false, error: "Invalid sequence" };
  }
  return { ok: true, value: result };
}

console.log("12 + 3 - 4 =", evalExprSimple("12 + 3 - 4"));
console.log("bad char   =", evalExprSimple("2 + a"));
E1 — Évaluateur d’expressions (1re partie : + et - de gauche à droite) — illustration 4

Exécuter de petits cas

Gardez les exemples courts. Nous ajouterons la priorité, les parenthèses et le moins unaire dans les parties suivantes.

// A few quick checks
const cases = [
  "0-3",
  "7+5",
  "10-3-2",
  "2 + 2 + 2",
  "9 - 1 + 1"
];

for (const c of cases) {
  const r = evalExprSimple(c);
  console.log(c, "=>", r.ok ? r.value : r.error);
}

// Note: unary minus (like "-3+2") not handled yet
// This simple version expects a number first
E1 — Évaluateur d’expressions (1re partie : + et - de gauche à droite) — illustration 5

Conseils pour débuter

Conseils :

  • Commencez par un périmètre très limité (+ et - uniquement).
  • Renvoyez de petites erreurs au lieu de lever une exception.
  • Écrivez de petits assistants (découpage en jetons, évaluation).
  • Ajoutez les fonctionnalités étape par étape.
E1 — Évaluateur d’expressions (1re partie : + et - de gauche à droite) — illustration 6

Quiz sur le comportement LTR

Vérification rapide : résultat de gauche à droite.

E1 — Évaluateur d’expressions (1re partie : + et - de gauche à droite) — illustration 7

Récapitulatif

Récapitulatif : découpez les nombres et les signes +/-, ignorez les espaces et évaluez de gauche à droite. Renvoyez de petites erreurs. Ensuite : priorité et parenthèses.

E1 — Évaluateur d’expressions (1re partie : + et - de gauche à droite) — illustration 8

Questions Fréquemment Posées

La leçon « E1 — Évaluateur d’expressions (1re partie : + et - de gauche à droite) » est-elle gratuite ?

Oui — le texte complet de « E1 — Évaluateur d’expressions (1re partie : + et - de gauche à droite) » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours JavaScript Academy, passe à CoddyKit PRO. Le cours JavaScript Academy comprend 3 leçons au total.

Qu'est-ce que j'apprendrai dans « E1 — Évaluateur d’expressions (1re partie : + et - de gauche à droite) » ?

Implémentez un petit évaluateur qui gère + et - de gauche à droite. Découpez les chiffres et les opérateurs, ignorez les espaces et ajoutez de simples gardes Tu pratiques JavaScript Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer JavaScript Academy ?

Aucune expérience préalable n'est requise. JavaScript Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 3.

Combien de temps prend la leçon « E1 — Évaluateur d’expressions (1re partie : + et - de gauche à droite) » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon JavaScript Academy ?

Oui. Chaque leçon JavaScript Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. E1 — Évaluateur d’expressions (1re partie : + et - de gauche à droite)
  2. E2 — Analyseur de journaux (filtres et compteurs simples)
  3. E3 — Réservoir ou file de promesses (concurrence asynchrone)
← Retour à JavaScript Academy