Liste des mots réservés en JavaScript – ECMA 262 10è édition (06/2019)

Un mot réservé en JavaScript est un mot clef qu’on ne peut pas utiliser comme nom de variable, fonction, méthode ou comme identifiant en général car ce mot possède déjà un sens en JavaScript.

Par exemple, le mot clef let est utilisé pour déclarer une variable et on ne peut donc pas appeler une variable “let”. De même, le mot clef for sert à créer une boucle, etc.

L’ECMA, organisme créateur et gestionnaire de l’évolution du langage ECMAScript sur lequel est basé le JavaScript définit dans sa dernière spécification (ECMA 262, 10è édition – juin 2019) une liste de mots réservés et une liste de “futurs mots réservés. Vous pouvez retrouver ces listes ci-dessous.

 

Mots réservés actuellement

Ces mots sont actuellement utilisés par le JavaScript et ne peuvent donc absolument pas être utilisés comme identifiants pour une variable, une fonction, méthode, etc.

  • await
  • break
  • case
  • catch
  • class
  • const
  • continue
  • debugger
  • default
  • delete
  • do
  • else
  • export
  • extends
  • finally
  • for
  • function
  • if
  • import
  • in
  • instanceof
  • new
  • return
  • super
  • switch
  • this
  • throw
  • try
  • typeof
  • var
  • void
  • while
  • with
  • yield

 

Futurs mots réservés

Ces mots ne sont pour le moment pas utilisés par le langage JavaScript mais le langage se les réserve pour l’avenir car il y a beaucoup de chance qu’ils le deviennent ou car ce sont des mots stratégiques.

Cette liste est très intéressante car elle indique à l’avance les mots qui seront certainement utilisés par le langage et qu’on ne devrait donc pas non plus utiliser comme identifiant pour une variable, fonction, etc.

Cela permet d’anticiper les évolutions du langage et de ne pas se retrouver avec des scripts cassés quelques mois après leur création car un mot qu’on aurait utilisé est devenu interdit.

Notez que la plupart des navigateurs n’acceptent pas l’utilisation de ces mots clefs comme identifiants même si ils ne sont pas encore utilisés par le JavaScript.

  • implements
  • package
  • protected
  • interface
  • private
  • public

Laisser un commentaire

© Pierre Giraud - Toute reproduction interdite - Mentions légales