Quels mots-clés JavaScript (noms de fonctions, variables, etc.) sont réservés?
javascript
reserved-words
titanesque
la source
la source
Réponses:
Nous devrions créer un lien vers les sources d'informations réelles, plutôt que vers le meilleur hit 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
la source
Voici mon poème, qui comprend tous les mots-clés réservés en JavaScript, et est dédié à ceux qui restent honnêtes sur le moment, et pas seulement essaient de marquer:
la source
Pour compléter la réponse de benc , voir la norme ECMA-262 . Ce sont les mots réservés officiels, mais seul un pédant ignore la mise en œuvre 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 mots - clés , les futurs mots réservés , NullLiteral et BooleanLiteral , où les mots - clés sont
les futurs mots réservés sont
le NullLiteral est
et les BooleanLiteral s sont
la source
let
ici, mais je le vois dans le docu: ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdfJe lisais juste à ce sujet dans JavaScript & jQuery: The Missing Manual :
la source
alert
est déjà initialisé, mais rien ne vous empêche de la réaffecteralert = 5
. Cependant, vous ne pouvez pas définirwindow
sur 5, mais vous pouvez l'utiliser comme variable locale. Ce n'est pas possible avec des mots clés réservés, utilisation future,null
,false
,true
.yield
par ma vérification rapide, donc +1 de ma part. Ceux-ci peuvent dans ES5.1 être activés en mode strict:implements
interface
let
package
private
protected
public
static
yield
Voici un moyen indépendant du navigateur et de la version linguistique pour déterminer si une chaîne particulière est traitée comme un mot-clé par le moteur JavaScript. Crédits à cette réponse qui constitue le cœur de la solution.
la source
eval
pour quelque chose, cela signifie probablement que vous le faites mal.Aucune des réponses actuelles ne prévient qu'indépendamment de ES-Dialect, les navigateurs ont tendance à avoir leurs propres listes de mots-clés réservés, de méthodes, etc. en plus de ce qu'ES dicte.
Par exemple, IE9 interdit l' utilisation des noms logiques comme:
addFilter
,removeFilter
(ils, entre autres, sont des méthodes réservées).Voir http://www.jabcreations.com/blog/internet-explorer-9 pour une liste plus complète «actuellement connue» spécifique à IE9. Je n'ai encore trouvé aucune référence officielle à eux sur msdn (ou ailleurs).
la source
Voici une liste du livre Eloquent JavaScript:
break
case
catch
class
const
continue
debugger
default
delete
do
else
enum
export
extend
false
finally
for
function
if
implements
import
in
instanceof
interface
let
new
null
package
private
protected
public
return
static
super
switch
this
throw
true
try
typeof
var
void
while
with
yield
la source
La réponse de benc est excellente, mais pour mes deux cents, j'aime la page de w3schools sur ceci:
http://www.w3schools.com/js/js_reserved.asp
En plus de la liste des mots - clés réservés par la norme, il a aussi une longue liste de mots - clés que vous devriez éviter dans certains contextes; par exemple, ne pas utiliser le nom
alert
lors de l'écriture de code à exécuter dans un navigateur. Cela m'a aidé à comprendre pourquoi certains mots étaient mis en évidence en tant que mots-clés dans mon éditeur, même si je savais qu'il ne s'agissait pas de mots-clés.la source