Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.10.2011, 20:17
Кандидат Javascript-наук
Отправить личное сообщение для nyols Посмотреть профиль Найти все сообщения от nyols
 
Регистрация: 16.02.2011
Сообщений: 134

"class" зарезервированное слово в Chrom'e
Сегодня чего то заметил что хром стал ругаться "SyntaxError: <unknown message reserved_word>" или "SyntaxError: Unexpected reserved word"

Никак не мог понять почему, и что это за слово незаконное я использую (а в лисе никаких ошибок), оказалось что слово "class" в хроме зарезервировано, а у меня были переменные с таким именем

Все так и появятся классы в Javascript ?
Ответить с цитированием
  #2 (permalink)  
Старый 17.10.2011, 20:23
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Не только class, таких слов много:
http://javascript.ru/ecma/part7#a-7.5.3

Но это не значит, что внезапно там появятся классы, хотя в некоторых спецефикациях (например в ActionScript) они есть, а в ECMA-262.3 они просто зарезервированы и их не рекомендуется использовать как имена методов/свойств.
Ответить с цитированием
  #3 (permalink)  
Старый 17.10.2011, 20:27
Кандидат Javascript-наук
Отправить личное сообщение для nyols Посмотреть профиль Найти все сообщения от nyols
 
Регистрация: 16.02.2011
Сообщений: 134

Да знаю что таких слов больше (спасибо за ссылку, буду знать какие именно ), но раньше с этим словом проблем не было и его можно было юзать, поэтому и удивился когда внезапно скрипт перестал работать (видимо после очередного обновления хрома) Да и в других браузерах вроде это слово можно использовать
Ответить с цитированием
  #4 (permalink)  
Старый 18.10.2011, 11:21
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Разные браузеры по разному относятся к разным зарезервированным на будущее словам. На какие-то ругаются, на какие-то не ругаются, на какие-то могут начать ругаться в новой версии. Так что лучше не использовать их.
Ответить с цитированием
  #5 (permalink)  
Старый 18.10.2011, 15:09
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

добавлю. зарезервированные слова можно использовать в качестве параметра к объекту. а в качестве переменных нет.
(function(){ "use strict"; return ({ class: 77 }).class })()
__________________
лучшая rss читалка zzreader.com
Ответить с цитированием
  #6 (permalink)  
Старый 18.10.2011, 15:24
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

В качестве параметра к объекту можно использовать любую строку.
alert({'': 1}['']);
Ответить с цитированием
  #7 (permalink)  
Старый 18.10.2011, 15:31
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

Kolyaj,
а через точку слабо?
__________________
лучшая rss читалка zzreader.com
Ответить с цитированием
  #8 (permalink)  
Старый 18.10.2011, 15:44
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Зачем?
Ответить с цитированием
  #9 (permalink)  
Старый 18.10.2011, 16:55
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Зарезервированные ключевые слова в ES5:

class
debugger
enum
extends
super
const
export
import


Зарезервированные ключевые слова в ES5 при использовании строго режима:
implements
let
private
public yield
interface
package
protected
static


Также было вычерекнуто несколько зарезервированных названий для свойств объектов в.ч. class (если не ошибаюсь)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить размеры рабочей области окна в Chrome unclechu Events/DOM/Window 1 13.09.2011 02:37
Как получить слово по позиции текстового курсора в textarea. kageua Общие вопросы Javascript 0 24.12.2010 13:48
тег <audio> в Opera, Chrome, Firefox Magneto Javascript под браузер 12 25.11.2010 15:12
Получить слово на onclick AlexDodonov Events/DOM/Window 7 26.02.2010 21:46
Выделить целое слово на русском с помощью регулярного выражения! timdenice Общие вопросы Javascript 6 11.02.2010 12:59