Конструкцию «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.
хз. я оставляю мострокод в JS. с with порой можно начать легко путаться откуда у чего ноги растут
голосую против
with сокращать код в разы очень помогает. Лучше бы заставили браузеры (или среды разработки) просто отчитываться, свойство какого объекта было/будет задействовано. Надо бы этим разработчикам ECMAScript 5 сильно урезать скорость интернета, чтобы глупостей не придумывали
Комментарий для indeec17:
Да, лучше попробовать исправить недостатки, а не убирать конструкцию полностью.
Комментарий для Евгения Степанищева:
Какие преимущества with по сравнению с var d = someObjectWithVeryLongAndUglyName?
Комментарий для megaflop:
with(a)with(b) {
method1()
method2()
}