Quels sont les mots-clés JavaScript (noms de fonctions, variables, etc.) qui sont réservés ?
Et si yield
?
Quels sont les mots-clés JavaScript (noms de fonctions, variables, etc.) qui sont réservés ?
Voici mon poème, qui comprend tous les mots-clés réservés en JavaScript, et qui est dédié à ceux qui restent honnêtes dans l'instant, et qui ne cherchent pas seulement à marquer des points :
Let this long package float,
Goto private class if short.
While protected with debugger case,
Continue volatile interface.
Instanceof super synchronized throw,
Extends final export throws.
Try import double enum?
- False, boolean, abstract function,
Implements typeof transient break!
Void static, default do,
Switch int native new.
Else, delete null public var
In return for const, true, char
…Finally catch byte.
Nous devrions créer des liens vers les sources réelles d'information, plutôt que de nous contenter de la première page de Google.
http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Reserved_Words
JScript 8.0 : http://msdn.microsoft.com/en-us/library/ttyab5c8.aspx
Pour compléter réponse de benc voir Norme ECMA-262 . Ce sont les mots réservés officiels, mais seul un pédant ignore l'implémentation pour respecter la norme. Pour les mots réservés des implémentations les plus populaires, à savoir firefox et internet explorer, voir la réponse de benc.
Les mots réservés dans EMCAScript-262 sont les suivants Mot clé s, Futur mot réservé s, NullLiteral et BooléenLittéral où le Mots clés sont
break do instanceof typeof
case else new var
catch finally return void
continue for switch while
debugger function this with
default if throw
delete in try
le site Futur mot réservé sont
abstract export interface static
boolean extends long super
byte final native synchronized
char float package throws
class goto private transient
const implements protected volatile
double import public
enum int short
le site NullLiteral est
null
et le BooléenLittéral sont
true
false
Joseph, merci d'avoir ajouté cette information. J'ai trouvé ce PDF dans Google, mais je n'ai pas eu le temps de l'ouvrir et de le lire en entier.
Le futur mot réservé "abstract" n'est mentionné ni dans la spécification ES5 ni dans le projet ES6. D'où cela vient-il ?
Je l'ai trouvé ! Il était présent dans ES3 comme un futur mot réservé, avec une longue liste d'autres, mais il a été supprimé dans ES5.
http://javascript.about.com/library/blreserved.htm les énumère assez bien.
Je viens de lire un article à ce sujet dans JavaScript et jQuery : Le manuel manquant :
Ces mots réservés ne posent pas tous des problèmes dans tous les navigateurs, mais il est préférable d'éviter ces noms lorsqu'on nomme des variables.
Mots clés JavaScript :
break, case, catch, continue, debugger, default, delete, do, else, false, finally, for, function, if, in, instanceof, new, null, return, switch, this, throw, true, try, typeof, var, void, while, with
.Réservé pour une utilisation future :
abstract, boolean, byte, char, class, const, double, enum, export, extends, final, float, goto, implements, import, int, interface, let, long, native, package, private, protected, public, short, static, super, synchronized, throws, transient, volatile, yield
.Variables globales prédéfinies dans le navigateur :
alert, blur, closed, document, focus, frames, history, innerHeight, innerWidth, length, location, navigator, open, outerHeight, outerWidth, parent, screen, screenX, screenY, statusbar, window
.
J'ai utilisé l'emplacement dans un script et j'ai obtenu un comportement très étrange, poste très utile.
Notez que "réservé" n'est pas la même chose que "pré-initialisé". Dans le navigateur, alert
est déjà initialisé, mais rien ne vous empêche de réassigner alert = 5
. Cependant, vous ne pouvez pas définir window
à 5, mais vous pouvez l'utiliser comme une variable locale. Ce n'est pas possible avec les mots-clés réservés, utilisation future, null
, false
, true
.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
6 votes
mathiasbynens.be/notes/mots-clés réservés