Jakie słowa kluczowe JavaScript (nazwy funkcji, zmienne itp.) Są zarezerwowane?
javascript
reserved-words
tytaniczny
źródło
źródło
Odpowiedzi:
Powinniśmy podawać linki do rzeczywistych źródeł informacji, a nie tylko do najpopularniejszych hitów 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
źródło
Oto mój wiersz, który zawiera wszystkie zarezerwowane słowa kluczowe w JavaScript i jest przeznaczony dla tych, którzy pozostają uczciwi w danym momencie, a nie tylko próbują zdobyć punkty:
źródło
Aby uzupełnić odpowiedź Benca , zobacz Standard ECMA-262 . To są oficjalne zastrzeżone słowa, ale tylko pedant ignoruje implementację w celu poszanowania standardu. Aby zapoznać się z zastrzeżonymi słowami najpopularniejszych implementacji, czyli Firefoxa i Internet Explorera, zobacz odpowiedź benca.
Słowa zastrzeżone w EMCAScript-262 to słowa kluczowe , słowa zarezerwowane w przyszłości , NullLiteral i BooleanLiteral , gdzie słowa kluczowe to
Są to przyszłe zastrzeżone słowa
NullLiteral jest
a BooleanLiteral są
źródło
let
tutaj, ale widzę to w dokumencieWłaśnie czytałem o tym w JavaScript i jQuery: The Missing Manual :
źródło
alert
jest już zainicjowany, ale nic nie powstrzymuje Cię przed ponownym przypisaniemalert = 5
. Jednak nie możesz ustawićwindow
na 5, ale możesz użyć go jako zmiennej lokalnej. To nie jest możliwe przy użyciu słów kluczowych, zarezerwowanych przyszłościnull
,false
,true
.yield
przez moje szybkie sprawdzenie, więc +1 ode mnie. W ES5.1 można je aktywować w trybie ścisłym:implements
interface
let
package
private
protected
public
static
yield
Oto sposób określania niezależnie od przeglądarki i wersji językowej, czy określony ciąg znaków jest traktowany jako słowo kluczowe przez silnik JavaScript. Kredyty na tę odpowiedź, która stanowi rdzeń rozwiązania.
źródło
eval
coś używać , najprawdopodobniej oznacza to, że robisz to źle.Żadna z aktualnych odpowiedzi nie ostrzega, że niezależnie od języka ES-Dialect, przeglądarki mają zwykle własne listy zarezerwowanych słów kluczowych, metod itp. Oprócz tego, co dyktuje ES.
Na przykład, IE9 zabrania używania logicznych nazwach takich jak:
addFilter
,removeFilter
(one, między innymi, są zastrzeżone metody).Zobacz http://www.jabcreations.com/blog/internet-explorer-9, aby uzyskać bardziej obszerną listę „obecnie znanych” specyficznych dla IE9. Nie znalazłem jeszcze oficjalnego odniesienia do nich w msdn (lub w innym miejscu).
źródło
Oto lista z książki 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
źródło
Benc odpowiedź jest doskonała, ale za moje dwa centy podoba mi się ta strona w3schools:
http://www.w3schools.com/js/js_reserved.asp
Oprócz wyszczególnienia słów kluczowych zarezerwowanych przez standard, zawiera również długą listę słów kluczowych, których należy unikać w niektórych kontekstach; na przykład nieużywanie nazwy
alert
podczas pisania kodu do uruchomienia w przeglądarce. Pomogło mi to zrozumieć, dlaczego niektóre słowa były wyróżniane jako słowa kluczowe w moim edytorze, mimo że wiedziałem, że nie są to słowa kluczowe.źródło