¿Qué palabras clave de JavaScript (nombres de función, variables, etc.) están reservadas?
javascript
reserved-words
titánica
fuente
fuente
Respuestas:
Deberíamos estar vinculados a las fuentes de información reales, en lugar de solo al éxito 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
fuente
Aquí está mi poema, que incluye todas las palabras clave reservadas en JavaScript, y está dedicado a aquellos que permanecen honestos en este momento, y no solo intentan calificar:
fuente
Para complementar la respuesta de benc , consulte la Norma ECMA-262 . Estas son las palabras oficiales reservadas, pero solo un pedante ignora la implementación para respetar el estándar. Para las palabras reservadas de las implementaciones más populares, es decir, Firefox e Internet Explorer, vea la respuesta de benc.
Las palabras reservadas en EMCAScript-262 son las palabras clave s, las palabras reservadas futuras , NullLiteral y BooleanLiteral s, donde las palabras clave son
las palabras reservadas para el futuro son
el NullLiteral es
y los BooleanLiteral s son
fuente
let
aquí, pero lo veo en el docu: ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdfEstaba leyendo sobre esto en JavaScript y jQuery: The Missing Manual :
fuente
alert
ya está inicializado, pero nada le impide reasignaralert = 5
. Sin embargo, no puede establecerlowindow
en 5, pero puede usarlo como una variable local. Eso no es posible con las palabras clave reservadas, su uso futuro,null
,false
,true
.yield
en mi comprobación rápida, por lo que hice un +1. Estos se pueden activar en ES5.1 por modo estricto:implements
interface
let
package
private
protected
public
static
yield
Aquí hay una forma independiente del navegador y la versión de idioma para determinar si una cadena particular es tratada como una palabra clave por el motor de JavaScript. Créditos a esta respuesta que proporciona el núcleo de la solución.
fuente
eval
para algo, lo más probable es que lo esté haciendo mal.Ninguna de las respuestas actuales advierte que, independientemente de ES-Dialect, los navegadores tienden a tener sus propias listas de palabras clave reservadas, métodos, etc., además de lo que dicta ES.
Por ejemplo, IE9 prohíbe el uso de nombres lógicos como:
addFilter
,removeFilter
(que, entre otros, están reservados métodos).Consulte http://www.jabcreations.com/blog/internet-explorer-9 para obtener una lista más extensa "actualmente conocida" específica para IE9. Todavía he encontrado alguna referencia oficial a ellos en msdn (o en otro lugar).
fuente
Aquí hay una lista del libro JavaScript Eloquent:
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
fuente
la respuesta de benc es excelente, pero por mis dos centavos, me gusta la página de w3schools en esto:
http://www.w3schools.com/js/js_reserved.asp
Además de enumerar las palabras clave reservadas por el estándar, también tiene una larga lista de palabras clave que debe evitar en ciertos contextos; por ejemplo, no usar el nombre
alert
al escribir código para ejecutarlo en un navegador. Me ayudó a entender por qué ciertas palabras se destacaban como palabras clave en mi editor, aunque sabía que no eran palabras clave.fuente