Почему интерпретатор в 7.6 считает доступ к свойству через ["имя_свойства"] ошибкой и требует заменить на точечную нотацию ?

Переношу модуль JQueryINputMask из 7.2 в 7.6. Интерпретатор в 7.6 считает ошибкой следующую трактовку доступа к свойству:
masksets = this.data("_inputmask")["masksets"];
и просит заменить её на:
masksets = this.data("_inputmask").masksets;
В литературе по Javascript допускаются обе трактовки. Почему интерпретатор 7.6 считает мнемонику имя_объекта["имя_свойства"] ошибкой ?

Нравится

2 комментария

Евгений, добрый день!

Подобное сообщение можно считать рекомендацией и схема будет успешно сохранена, несмотря на его наличие. Но на самом деле предпочтительным вариантом будет использование названия свойств через точку. Такой вариант удобнее и визуально, и работать будет быстрее. Доступ к свойству через квадратные скобки используется в основном, когда Вам заранее не известно имя свойства и приходится вычислять его через выражение (например, myObject["propName" + i]). В литературе по JavaScript на этот факт также обращается внимание.

Спасибо.

Показать все комментарии