SyntaxError: missing formal parameter

Message

SyntaxError: missing formal parameter (Firefox)

Type d'erreur

Quel est le problème ?

¬ę Formal parameter ¬Ľ (ou ¬ę param√®tre formel ¬Ľ) est une fa√ßon de d√©signer un param√®tre d'une fonction. Ici, certains des param√®tres de la fonction sont invalides. Lorsqu'on d√©clare une fonction, les param√®tres doivent √™tre des identifiants et non des valeurs (telles que des nombres, des cha√ģnes de caract√®res ou des objets). La d√©claration et l'appel de la fonction forment deux √©tapes distinctes. Les d√©clarations utilisent uniquement des identifiants comme param√®tres. Lorsqu'on appelle une fonction, on fournit les valeurs √† utiliser.

En JavaScript, les identifiants peuvent contenir n'importe quel caract√®re alphanum√©rique (ou "$" or "_") et ne doivent pas commencer par un nombre. Un identifiant n'est pas une cha√ģne de caract√®res, une cha√ģne de caract√®res est une donn√©e alors qu'un identifiant fait partie du code.

Exemples

Lorsqu'on définit une fonction, les paramètres doivent être des identifiants. Aucune des fonctions suivantes ne répond à ce critère (elles lèvent donc toutes une erreur) car elles utilisent des valeurs :

function carre(3) {
  return nombre * nombre;
};
// SyntaxError: missing formal parameter

function salutation("Coucou") {
  return salut;
};
// SyntaxError: missing formal parameter

function log({ obj: "value"}) {
  console.log(arg)
};
// SyntaxError: missing formal parameter

Il faut utiliser des identifiants lors de la déclaration des fonctions :

function carre(nombre) {
  return nombre * nombre;
};

function salutation(salut) {
  return salut;
};

function log(arg) {
  console.log(arg)
};

Ensuite, on pourra appeler ces fonctions avec les arguments voulus :

carre(2); // 4
salutation("Coucou"); // "Coucou"
log({obj: "value"});  // Object { obj: "value" }

Voir aussi