Какие ключевые слова JavaScript (имена функций, переменные и т. Д.) Зарезервированы?
javascript
reserved-words
titanous
источник
источник
Ответы:
Мы должны ссылаться на фактические источники информации, а не только на самый популярный 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
источник
Вот мое стихотворение, которое включает в себя все зарезервированные ключевые слова в JavaScript и посвящено тем, кто остается честным в данный момент, а не просто пытается забить:
источник
В дополнение к ответу benc см. Стандарт ECMA-262 . Это официальные зарезервированные слова, но только педант игнорирует реализацию, чтобы соблюдать стандарт. Зарезервированные слова наиболее популярных реализаций, таких как Firefox и Internet Explorer, см. В ответе Бенка.
Зарезервированные слова в EMCAScript-262 - это Ключевое слово s, Будущее зарезервированное слово s, NullLiteral и BooleanLiteral s, где ключевыми словами являются
в будущее зарезервированное слово s являются
NullLiteral является
и BooleanLiteral s
источник
let
здесь, но я вижу это в документе: ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdfЯ только что читал об этом в JavaScript и jQuery: Пропавшее руководство :
источник
alert
уже инициализируется, но ничто не мешает вам переназначитьalert = 5
. Однако вы не можете установитьwindow
значение 5, но вы можете использовать его как локальную переменную. Это не возможно с зарезервированными ключевыми словами, использованием в будущем,null
,false
,true
.yield
быстрые ответы пропущены моей быстрой проверкой, поэтому +1 от меня. В ES5.1 их можно активировать в строгом режиме:implements
interface
let
package
private
protected
public
static
yield
Вот независимый от браузера и языковой версии способ определить, обрабатывается ли определенная строка как ключевое слово механизмом JavaScript. Кредиты на этот ответ, который обеспечивает ядро решения.
источник
eval
, это, скорее всего, означает, что вы делаете это неправильно.Ни один из текущих ответов не предупреждает, что независимо от ES-Dialect, браузеры, как правило, имеют свои собственные списки зарезервированных ключевых слов, методов и т. Д., В дополнение к тому, что диктует ES.
Например, IE9 запрещает использование логических имен , таких как:
addFilter
,removeFilter
(они, в частности, зарезервированы методы).См. Http://www.jabcreations.com/blog/internet-explorer-9 для более обширного «известного в настоящее время» списка, специфичного для IE9. Я еще не нашел каких-либо официальных ссылок на них на MSDN (или в другом месте).
источник
Вот список из книги 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
источник
Ответ Бенка превосходный, но за мои два цента мне нравится страница w3schools:
http://www.w3schools.com/js/js_reserved.asp
Помимо перечисления ключевых слов, зарезервированных стандартом, он также содержит длинный список ключевых слов, которых следует избегать в определенных контекстах; например, не использовать имя
alert
при написании кода для запуска в браузере. Это помогло мне понять, почему определенные слова выделялись в качестве ключевых слов в моем редакторе, хотя я знал, что они не являются ключевыми словами.источник