Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Можно ли объявить переменную прямо в массиве или объекте (https://javascript.ru/forum/misc/50240-mozhno-li-obyavit-peremennuyu-pryamo-v-massive-ili-obekte.html)

Erolast 18.09.2014 16:23

Цитата:

var a=1
console.log(delete a)
Зачем тебе вообще удалять переменные, если это работа сборщика мусора?
Цитата:

Да, это очень странно, когда создаешь свойство объекта, а это свойстао, внезапно, так и остается висеть. Непорядок.
То, что созданная вне функций переменная становится свойством глобального объекта - это косяк архитектуры, исправленный в ES6.

petya 18.09.2014 16:28

Цитата:

это косяк архитектуры
Да, по мнению Васи Пупкина, это косяк. Поскольку, количество индусни среди разрабов JS достигло критической массы, пришла пора делать из JS очередную жабу. Этим, как раз, и занимается ES6. Конъюктура рынка.

Arramis 18.09.2014 23:37

Цитата:

Сообщение от Erolast (Сообщение 331183)
То, что созданная вне функций переменная становится свойством глобального объекта - это косяк архитектуры, исправленный в ES6.

ES6 покрайней мере в ближайшие 2 года уж точно никто не будет реально применять в проектах, а ели кто и станет то это будут скорее всего новички в js.

Safort 18.09.2014 23:52

Arramis,
2 года? Да ты шутишь, вангую к следующему лету(а то и раньше) народ начнёт перекатываться на шестую.

Arramis 19.09.2014 00:11

Цитата:

Сообщение от Safort (Сообщение 331251)
Arramis,
2 года? Да ты шутишь, вангую к следующему лету(а то и раньше) народ начнёт перекатываться на шестую.

а писать всё равно будут по старому :lol:

Aetae 19.09.2014 05:51

Arramis, ну ну. Вон товарищ kobezza пилит себе спокойненько свой проект на es6. Сейчас для запуска просто пользуется компиляцией в es5, а как везде появится поддержка - просто выкинет этап компиляции.
Абсолютно адекватный подход.

Даже мне уже порой лениво писать вместо
([{prop:foo}]) => this.bar+foo
function(foo){
  return this.bar+foo[0].prop
}.bind(this)

Не говоря уже о таких прекрасных штуках как WeakMap, или генераторы(коими я проникся пока только наполовину):)

kostyanet 19.09.2014 07:47

А Хром нипонял без слова function. У меня было так

...
prop:return this.prop1/some_var,
...

В ФФ все молчали, а в Хроме разорались, пришлось завернуть боты

prop:function()...

Erolast 19.09.2014 11:52

Цитата:

ES6 покрайней мере в ближайшие 2 года уж точно никто не будет реально применять в проектах, а ели кто и станет то это будут скорее всего новички в js.
Бред. ES6 слишком вкусен, чтобы кто-то отказался им пользоваться (ну, не беря в расчет вынужденных поддерживать IE), а релиз уже в декабре. А некоторые, как сказал Aetae, так и уже пользуются через компиляцию (я лично в том числе).

Arramis 19.09.2014 22:38

Erolast,
я не про отказ говорил, никто и не спорит что на es6 удобнее будет писать, но дело в том сколько уйдёт времени чтобы привыкнуть полностью, да и вобще нынче стало модным добавлять лямбды в императивные языки, везде уже есть - в c++, c# теперь и в js впихнули... надоело

Aetae 20.09.2014 00:03

Arramis, к хорошему быстро привыкаешь. См. выше.)


Часовой пояс GMT +3, время: 23:17.