Programmation JavaScript/Mots réservés


Cet article va passer en revue les mots réservés et constantes prédéfinies de JavaScript.
La norme ECMA 262, définit les mots réservés de JavaScript en deux catégories :

  • les mots réservés (break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof)
  • les futurs mots réservés (abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public).


On ne doit pas utiliser un mot réservé comme identificateur. Cela provoque une erreur. Mais comme le langage différencie les majuscules et minuscules, il est possible de mettre en majuscule une lettre pour rendre l'identificateur utilisable.

On peut, avec la plupart des navigateurs utiliser un futur mot réservé comme identificateur, mais cela est déconseillé, car le programme ne fonctionnera probablement plus à l'apparition d'une version future de JavaScript.

Voici une description sommaire des mots réservés :

DéclarationsModifier

varModifier

Déclaration d'une variable locale, avec ou sans affectation. À placer en début d'instruction.

var ma_variable;
var ma_variable = "Je suis affecté";

Une variable locale est détruite automatiquement à la fin de la fonction où elle a été créée (sauf dans le cas des closures). Seul le code écrit dans cette fonction peut y accéder, et dans ce code, la variable est prioritaire sur tout autre identifiant homonyme. En revanche, elle ne peut être détruite par l'opérateur delete.

Voir la section sur rehaussement des déclarations.

constModifier

Déclaration d'une constante locale[1].

letModifier

Comme "var" mais restreint la portée au bloc, comme si ce bloc était situé dans une autre fonction. Exemple :

var a = 1;
var b = 2;
{
    var a = 11;
    let b = 22;
}
console.log(a);  // 11
console.log(b);  // 2

functionModifier

Déclaration d'une fonction utilisateur. C'est aussi un opérateur.

function ma_fonction()
{
    alert("Je suis exécuté dans ma_fonction");
}

voidModifier

void est une déclaration placée obligatoirement en début d'instruction. void ne fait rien, ne retourne rien, et n'est utile que dans un seul contexte : les pseudo-URL javascript:. En effet, si l'instruction qui compose cet URL retourne une valeur, cette valeur remplace le contenu de la page, ce qui est souvent indésirable. On place alors la déclaration void pour que l'instruction n'ait aucune valeur.

<a href="javascript:void(maFonction())">...</a>

withModifier

Permet de simplifier la référence aux propriétés et méthodes des objets en précédant un bloc d'instruction dans lequel un objet devient implicite. La déclaration with rajoute en fait un niveau tout en haut de la pile de scopes.

with(navigator)
{
     alert(appName + " " + appVersion);
}

est équivalent à

alert(navigator.appName + " " +navigator.appVersion);

Structures de contrôleModifier

returnModifier

Employé dans une fonction, provoque le retour au programme appelant avec renvoi facultatif d'un résultat.

function ma_fonction(aparam)
{
    s = "";
    if (aparam == "")
        return;    // Sortie sans renvoyer de résultat
        else
            s = "Le résultat";
    return s;      // Renvoie le contenu de s
}

ifModifier

Permet de définir l'exécution conditionnelle d'instructions ou d'un bloc d'instructions. Peut-être utilisé conjointement à else.

a = 5;
if (a==5)
     alert("la condition est remplie");

elseModifier

Utilisé conjointement à if, permet d'exécuter des instructions alternativement au résultat de la condition spécifiée par if.

a = 5
if (a==5)
     alert("a est égal à 5");
else
     alert("a est différent de 5");

switchModifier

Utilisé conjointement à case, permet d'implanter un sélecteur de cas.

function test(condition)
{
     switch(condition)
     {
          case "1":
               alert("condition='1'");
          break;
          case "3":
               alert("condition='3'");
          break;
          case "5":
               alert("condition='5'");
          break;
     }
}

caseModifier

Utilisé à l'intérieur d'un bloc switch, constitue un des choix du selecteur.

breakModifier

Utilisé à l'intérieur d'un bloc switch, permet de sortir du sélecteur sans procéder tests suivants. Utilisé à l'intérieur d'une boucle telle un bloc switch, permet de quitter la boucle immédiatement.

defaultModifier

Utilisé à l'intérieur d'un bloc switch, constitue l'option par défaut du sélecteur.

forModifier

Introduit une boucle itérative.

for (i=0;i<5;i++)
{
     alert(i);
}

For each :

var array = [1, 2, 3];
for (line in array)
{
     alert(line);
}

En tableau associatif :

var array =  { "a" : 1, "b" : 2, "c": 3 };
for (line in array)
{
     alert('Clé : ' + line + ', valeur : ' + array[line]);
}

doModifier

Introduit une boucle itérative conditionnelle avec test effectué à chaque tour par "while" :

i=0
do
{
     i++
     alert(i);    // Affichera 1, puis 2, puis 3, puis 4, puis 5
}
while(i<5);

whileModifier

Introduit une boucle itérative conditionnelle:

i=0
while(i<5)
{
     i++;        // Incrémenter i
     alert(i);   // Affiche 1, puis 2, puis 3, puis 4, puis 5
}

continueModifier

Utilisé dans une boucle "for", "while" et "do", permet de sauter un tour.

for (i=-2;i<=2;i++)
{
	if (i==0) continue; // Si i == 0, on passe directement à 1
	alert(5/i); // On évite ainsi la division par zéro.
}

Gestions des erreursModifier

throwModifier

Provoque une erreur personnalisée.

throw new Error("votre erreur");// a le même effet visuel que alert("votre erreur");

try ... catch ... finallyModifier

Évalue un bloc (try) en capturant les erreurs, tente de les gérer (catch) si elles se produisent, et quoiqu'il arrive, évalue un dernier bloc (finally).

OpérateursModifier

inModifier

Opérateur qui détermine l'appartenance à un objet. Dans une boucle for... in, permet de répéter des instructions pour chaque propriété d'un objet.

newModifier

Opérateur qui permet l'instanciation d'un objet.

var mon_tableau = new Array();

instanceofModifier

Cet opérateur permet de tester si une valeur est une instance d'un objet :

t = new Array();
alert(t instanceof Array); // Affiche true
alert(t instanceof Date); // Affiche false

typeofModifier

Cet opérateur renvoie le type de la variable placée à droite.
Les valeurs renvoyées par typeof correspondent aux types de variables JavaScript, soit : boolean string number function object undefined.

deleteModifier

Cet opérateur permet de supprimer une propriété.


Valeurs spécialesModifier

thisModifier

Dans le constructeur ou une méthode d'un objet, c'est une référence à l'objet. Hors de ce contexte, this référence l'objet global window.

trueModifier

Valeur booléenne "vrai".

if (true)
{
     alert("Je m'affiche toujours");
}

falseModifier

Valeur booléenne "faux".

if (ma_bool == false)
     alert("C'est pas vrai...")

nullModifier

Valeur de type "object" qui ne référence rien.

undefinedModifier

C'est la valeur de toutes les variables inexistantes ou supprimées.

Futurs mots réservésModifier

Les versions futures de JavaScript intègreront peut-être un ou plusieurs mots réservés parmi la liste suivante.

abstract enum int short boolean export interface static byte 
extends long super char final native class float 
package const goto private debugger 
implements protected double import public

Il est déconseillé de les employer comme identificateurs dans les programmes actuels, sous peine de risquer un comportement bizarre dans le futur.

Mots réservés en jQueryModifier

Consultez également ces pages dans d’autres projets Wikimedia :

Article encyclopédique sur Wikipédia.
Ressources éducatives sur Wikiversité.


Liste des mots spécifiques en jQuery[2]
Nom Fonction
$(), jQuery() Fonction de sélection, et d'initialisation
holdReady() Retiens ou relâche un évènement jQuery
noConflict() Supprime un mot réservé
sub() Crée une copie modifiable d'un objet jQuery
when() Planifie des objets
each() Sélectionne chaque élément d'un objet
parents() Sélectionne tous les éléments parents
parent() Sélectionne le parent direct
children() Sélectionne tous les enfants
closest() Sélectionne l'élément le plus proche avec une certaine caractéristique (évite des parent().parent().parent()).
hasClass() Renvoie si l'élément à une classe
addClass() Ajoute une classe
removeClass() Retire une classe
toggleClass() Échange deux classes
Sélecteurs
:animated Sélectionne les éléments animés
:hidden Sélectionne les éléments cachés
:visible Sélectionne les éléments visibles
:first Sélectionne le premier élément
:last Sélectionne le dernier élément
:even Sélectionne les éléments pairs
:odd Sélectionne les éléments impairs
:eq(index) Sélectionne le nème élément
:gt(index) Sélectionne les éléments supérieurs au nème
:lt(index) Sélectionne les éléments inférieurs au nème
:input Sélectionne les champs modifiables
:text Sélectionne les champs texte
:radio Sélectionne les boutons radio
:checkbox Sélectionne les cases à cocher
:checked Sélectionne les boutons radio et cases à cocher cochés
:first-child Sélectionne le premier élément enfant
:last-child Sélectionne le dernier élément enfant
parent > child Sélectionne le premier enfant d'un parent
Méthodes[3]
.attr() Affiche ou remplace la valeur d'un attribut
.val() Affiche ou remplace la valeur d'un champ
.html() Affiche ou remplace l'objet par de l'HTML
.text() Affiche ou remplace l'objet par du texte
.prepend() Ajoute le paramètre avant l'objet, dans la balise
.append() Ajoute le paramètre après l'objet, dans la balise
.prependTo() Ajoute l'objet avant le paramètre, dans la balise
.appendTo() Ajoute l'objet après le paramètre, dans la balise
.before() Ajoute le paramètre avant l'objet
.after() Ajoute le paramètre après l'objet
.insertBefore() Ajoute l'objet avant le paramètre
.insertAfter() Ajoute l'objet après le paramètre
.wrap() Ajoute les balises en paramètre autour de l'objet
.wrapInner() Ajoute les balises en paramètre autour de l'objet à l'intérieur
.wrapAll() Ajoute les balises en paramètre autour des objets
.clone() Duplique un objet
.empty() Vide un objet
.remove() Retire un objet
.removeAttr() Retire un attribut
.replaceWith() Remplace l'objet par le paramètre
.replaceAll() Remplace le paramètre par l'objet


Entrer $('.data') dans la console du navigateur (F12) affiche les éléments de la page dans un format pertinent au JS.

RéférencesModifier