Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Обсуждений тред (https://javascript.ru/forum/offtopic/47364-obsuzhdenijj-tred.html)

newuser1001 30.03.2015 13:04

Цитата:

Сообщение от kobezzza
Это аналог оператора точки, только работает справа-налево, т.е. не экземпляр должен иметь такой метод, а сам метод подстраивается под рабочий объект, но при этом нам не надо добавлять его в prototype.

то есть, аналог
[].forEach.call

?

kobezzza 30.03.2015 13:12

Цитата:

Сообщение от newuser1001 (Сообщение 363912)
то есть, аналог
[].forEach.call

?

Да.

newuser1001 30.03.2015 13:29

Цитата:

Сообщение от kobezzza
Да.

Почему бы гребаным комитетчикам не запилить, наконец хоть что-нибудь полезное? Все, на что они способны -- заменить "устаревшее" foo bar на хипстерское кульное bar foo, Уау! Или тогда бы уж не позорились, оставили бы язык в покое.

nerv_ 30.03.2015 16:16

Цитата:

Сообщение от kobezzza
А я стал юзать абстрактные ссылки и мир стал краше

круто)

Я думал на предмет
Цитата:

написать forEach() и юзать в проектах
(как это делается в жуквери, ангуляре и т.п.), но отказался от этого в пользу цикла потому, что:
1. нет надобности создавать функцию и думать о передаче контекста (this)
2. есть родные continue, break

Это мое мнение, никого не склоняю на свою сторону :)

---
Отступление.

Неделю-другую назад запилил (для себя) пример, чтобы понять как перебирают либы и добиться нужного мне поведения итератора.
--

Цитата:

Сообщение от Gozar
Назови её nerv и не парься.

уже занято :D мной) А если серьезно, то:
1. хотелось бы что-то более осмысленное
2. с другой стороны, не важно, как она будет называется, т.к. эта строка решает все
import * from 'path';
// or
import {Iterator} from 'path';

а если импорта не будет и библиотека будет подключена самостоятельно, деструктуризация мне в руки:
const {Iterator, extend} = __;
// usage
let object = extend({a:1}, {b:2}, {c:3});

:)

kobezzza 30.03.2015 16:25

Цитата:

нет надобности создавать функцию и думать о передаче контекста (this)
Arrow function - легко пишется, а контекст берется родительский.

newuser1001 30.03.2015 16:37

Цитата:

Сообщение от kobezzza
берется родительский.

Ты хотел сказать лексический? Ничего хорошего в этом нет. Это для быдла, которое ниасилило динамику.

nerv_ 30.03.2015 16:39

Цитата:

Сообщение от kobezzza
Arrow function - легко пишется, а контекст берется родительский

знаю :)

Но, лично мне хотелось бы видеть цикл (та же подсветка синтаксиса, читабельность), кроме того
Цитата:

Сообщение от nerv_
2. есть родные continue, break

+ возможно, переход на метку (на знаю зачем он и работает ли, не проверял), но вдруг кому-то потребуется)
+ я могу сделать return в любой момент из цикла (или двух вложенных циклов, например)

forEach не возвращает ничего
alert([1].forEach(function(){}));

т.е. для ФП он не годится. Если мне нужно ФП, я воспользуюсь collection)

Цитата:

Сообщение от nerv_
Это мое мнение, никого не склоняю на свою сторону

:)

Gozar 30.03.2015 17:15

Цитата:

Сообщение от nerv_
хотелось бы что-то более осмысленное

Зачем? А так ты всегда будешь понимать кто тут нагадил :)

А ещё можно __yes

__yes.myFirstTime;


или

wow.method()

Максимка 30.03.2015 17:46

nerv_, если миассв изменится во время итерации твой цикл сломается, а forEach гарантировано пробежится по всем элементам. это к слову ведь вы ж нубы не знаете разницы (все кроме kobezzza конечно, этот чел делом заслужил мое уважение)

nerv_ 30.03.2015 18:19

Цитата:

Сообщение от Максимка
nerv_, если миассв изменится во время итерации твой цикл сломается, а forEach гарантировано пробежится по всем элементам. это к слову ведь вы ж нубы не знаете разницы (все кроме kobezzza конечно, этот чел делом заслужил мое уважение)

Ты не бойся, это гусь, я и сам его боюсь

p.s.: добавил еще минус тебе в карму :)


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