2012-04-06 9 views
8

Jakie jest zarezerwowane słowo kluczowe użyte w JavaScript (ponieważ deklaracja typu nie jest konieczna), a szczególnie, jaka jest prawidłowa składnia, z której można go użyć (czy ktoś mógłby podać mi odpowiedni pełny przykład)?Do czego służy słowo kluczowe "char"?

Ponieważ napisanie char c; powoduje wyświetlenie błędu interpretacji z informacją: missing ; before statement, tuż przed numerem c?

+0

Błąd, który pojawia się podczas wykonywania 'char c' nie jest nieoczekiwany. Wypróbuj 'blah c', a otrzymasz podobny błąd. Podczas gdy twoje pytanie ma w tym przypadku kontekst historyczny (co czyni go interesującym), nie sądzę, że to jest przyczyną błędu, który otrzymujesz. – Reid

Odpowiedz

15

Istnieje wiele zarezerwowanych słów kluczowych w JavaScript, które są zarezerwowane dla "przyszłego" użycia. Niekoniecznie mają aktualne zastosowanie i opis.

MDN nie wymienię kilka z nich, które mają tę szczególną „przyszłe wykorzystanie” status tutaj: https://developer.mozilla.org/en/JavaScript/Reference/Reserved_Words (dzięki DCoder) i można również odczytać z tego artykułu:

Poniżej są zarezerwowane jako przyszłych słowa kluczowe specyfikacja ECMAScript. Obecnie nie mają żadnej specjalnej funkcjonalności, ale mogą być dostępne w przyszłości, więc nie mogą być używane jako identyfikatory. Te słowa kluczowe nie mogą być używane w trybie ścisłym ani ścisłym.

Aby rozszerzyć nieco dalej, dlaczego jest uważane za zastrzeżone słowo kluczowe w niektórych miejscach, a w niektórych nie jest. Specyfikacja ECMAScript v3 zawierała char jako zastrzeżone słowo kluczowe, ale specyfikacja ECMAScript v5 (która zaczyna być najczęstsza) nie zawiera go.

+2

Link do listy wspomnianych słów zarezerwowanych nie zaszkodzi. https://developer.mozilla.org/en/JavaScript/Reference/Reserved_Words – DCoder

+0

Uważam, że należy zwrócić uwagę, że nie wszystkie silniki będą faktycznie dbać o korzystanie z char. Na offie widzę v8, JägerMonkey i Carakan nie narzekają, gdy uruchomisz coś takiego jak "var char = 5;", więc nie traktują tego jako zarezerwowanego słowa.Ogromna lista "przyszłych słów zarezerwowanych" z Java została wyrzucona w ECMAScript 5, więc mam wrażenie, że IE (szczególnie IE6/IE7) może narzekać na 'var char = 5', ale nie mam kopii tego na tym komputerze, aby go przetestować. – Reid

+0

Ok, o ile rozumiem, mój edytor ++ ++ rozpoznał słowo kluczowe char, ale firefox 11 i HTML 5 nie działają, więc zachowują się, jakby nie znali tego słowa, jak powiedział Reid. Więc jeśli to nie będzie użyteczne, odpuszczę wtedy ten problem i dalej się dowiem, co działa ... – MrBrody

4

Aktualizacja:

również jako @HoLyVieR wskazał i pokazany w komentarzach poniżej, char kluczowe jest zarezerwowana do wykorzystania w przyszłości. See this link for more information (Dzięki @djmadscribbler).


There is no reserved keyword char in JavaScript musisz być mylące go z reserved keyword char of Java instead.

+0

ECMAScript 3 zarezerwował wszystkie zarezerwowane słowa Java, a nie każda przeglądarka ma jeszcze zaimplementowany standard ECMAScript 5 jako JavaScript. –

+0

W rzeczywistości jest http://en.wikibooks.org/wiki/JavaScript/Reserved_Words HoLyVieR ma to prawo - nie jest obecnie aktywnie używane, ale jest zarezerwowane do przyszłego użytku – djmadscribbler

+0

@djmadscribbler: Dzięki za ten link. Zaktualizowano odpowiedź ze szczegółami :) – Sarfraz

2

Zgodnie z dokumentacją ECMAscript (http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf sekcja 7.6.1) char nie jest słowem zastrzeżonym.

Zgaduję, że jeśli widzisz to jako słowo zarezerwowane, to jest to specyficzna implementacja.

http://jsfiddle.net/BCruP/

Edit: Powyżej odniesienia był EMCAscript 5.

EMCAScript 3 (http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition,%20December%201999.pdf) wykaz dokumentacji char jako przyszły zastrzeżone słowo jednak EMCAScript 5 wydaje się, że spadła z listy.