Конструкцию «with» убрали в strict mode в ECMAScript 5?

with(){} statements are dead when strict mode is enabled — in fact it even appears as a syntax error. While the feature was certainly mis-understood and possibly mis-used I’m not convinced that it’s enough to be stricken from the record.

Я, конечно, понимаю чем плоха конструкция with, но отключать её в strict mode… Мне кажется излишним.

ECMAScript 5, кстати, будет в FireFox 4.

Поделиться
Отправить
6 комментариев
анонимус

хз. я оставляю мострокод в JS. с with порой можно начать легко путаться откуда у чего ноги растут

indeec17

голосую против

indeec17

with сокращать код в разы очень помогает. Лучше бы заставили браузеры (или среды разработки) просто отчитываться, свойство какого объекта было/будет задействовано. Надо бы этим разработчикам ECMAScript 5 сильно урезать скорость интернета, чтобы глупостей не придумывали

Евгений Степанищев (bolknote.ru)

Комментарий для indeec17:

Да, лучше попробовать исправить недостатки, а не убирать конструкцию полностью.

megaflop

Комментарий для Евгения Степанищева:

Какие преимущества with по сравнению с var d = someObjectWithVeryLongAndUglyName?

bolk (bolk.livejournal.com)

Комментарий для megaflop:

with(a)with(b) {
    method1()
    method2()
}

Популярное