
Egoarka
11.02.2017
12:35:21
я к нему обращаюсь. а там нужного свойства нет

hlomzik
11.02.2017
12:35:26
где когда ты обращаешься? контекст при вызове bind не имеет значения, ты к нему не обращаешься

Egoarka
11.02.2017
12:35:46
как это не имеет?
у любой функции есть контекст

Google

hlomzik
11.02.2017
12:36:31
контекст функции a => a + 1 не имеет никакого значения и нигде не используется
блин, да что я несу! нет у функции контекста. контекст — это про исполнение

Egoarka
11.02.2017
12:37:16
то, что не используется, я с тобой согласен, я про ошибку, которую я совершил говорю - в контексте bind нет такого свойства, к которому я обращаюсь

hlomzik
11.02.2017
12:37:26
уфффф
смените меня)

Dreamerinnoise
11.02.2017
12:37:39

hlomzik
11.02.2017
12:37:40
при вызове этой функции она вызывается с указанным тобой контекстом, this указывает на {c:1}, this.a = 10 добавляет в ЭТОТ объект свойство. при этом у функции как объекта не меняется ничего

Egoarka
11.02.2017
12:37:47
Каждый вызов функции имеет и область видимости, и переменную this, и контекст выполнения.
@dreamerinnoise у бинда нет свойства "a"
ты в example глянь
https://jsfiddle.net/5byap32q/
строка 16
где я её пытаюсь получить

Google

Egoarka
11.02.2017
12:38:53
я за это вам, а вы про что-то другое))

hlomzik
11.02.2017
12:39:12
причем здесь bind?

Egoarka
11.02.2017
12:39:30
bind для того, чтобы передать контекст в функцию
в моем примере функция f

hlomzik
11.02.2017
12:40:43
var g = () => f.apply({c: 1})
почти аналогичный пример без всякого bind

Egoarka
11.02.2017
12:41:25
ну это и так понятно, но я сейчас не стремился к упрощениям

hlomzik
11.02.2017
12:41:43
при вызове у тебя будет модифицироваться переданный тобой объект. а сама функция НЕ меняется. у нее НЕ появляется свойства a
непонятно это тебе
bind ты используешь ОДИН раз. ты не используешь никакого "контекста bind"

Egoarka
11.02.2017
12:43:06
1 min
https://jsfiddle.net/5byap32q/2/
в общем, получилось, как хотел
просто нужно было возратить контекст
с помощью функции
просто, чет я подумал, что он сам возратится, ну лады

Dreamerinnoise
11.02.2017
12:50:08

hlomzik
11.02.2017
12:52:24

Egoarka
11.02.2017
12:53:06
это bind из примера на learn.js

hlomzik
11.02.2017
12:53:28

Google

hlomzik
11.02.2017
12:53:36
ой, я идиот

Egoarka
11.02.2017
12:53:37
@hlomzik https://learn.javascript.ru/bind
>Решение 2: bind для привязки контекста
=)

hlomzik
11.02.2017
12:54:27
просто у тебя в /2 появился вызов после бинда

Egoarka
11.02.2017
12:54:36
/2
а. я сразу создал bind с привязкой контекста и вызвал его
уже у самого язык заплетается

Dreamerinnoise
11.02.2017
12:55:57
Js отупляет :3

hlomzik
11.02.2017
12:55:58
Как в #yarn посмотреть список установленных пакетов? Установленных тобой пакетов. А то мне на 10 пакетов в package.json yarn list показывает 400.
хочу посмотреть версии
а извращаться не хочу))

Egoarka
11.02.2017
13:16:44
https://jsfiddle.net/c1yb4s41/ вопросик внутри

Олег
11.02.2017
13:41:51
(не делать так)

Egoarka
11.02.2017
13:42:31
такой вопрос не стоял: делать или нет

Nikolay
11.02.2017
13:47:34
по мне так странно хранить методы вместе с данными
темболее метод авторизации

Egoarka
11.02.2017
13:48:09
это пример, ну
и в некоторых фреймворках есть функция, которая биндит все функции

Олег
11.02.2017
13:51:12
сейфово никак

Google

Олег
11.02.2017
13:51:28
таких нативных механизмов тут нету.

Vladimir
11.02.2017
13:51:41

Egoarka
11.02.2017
13:52:15
@dersizes печальненько

Vladimir
11.02.2017
13:53:00

Egoarka
11.02.2017
13:53:12
@iamstarkov ну читаю параллельно

Vladimir
11.02.2017
13:53:13
You don't know js например

Egoarka
11.02.2017
13:53:14
так-то
learn js

Admin
ERROR: S client not available

Dreamerinnoise
11.02.2017
13:53:23
даже меньше

Nikolay
11.02.2017
13:54:24
@egorea1999 а если добавить isAdmin или role поле
и уже по нему смотреть?
внутри auth метода
ведь у admin и user структур они будут разные

Egoarka
11.02.2017
13:55:19
так можно, но мой вопрос абстрактный
я сейчас не организую пользователей и группы
а просто привел ну очень просто пример

Олег
11.02.2017
13:55:51
Надеюсь Function.prototype.bind он модифицировать не будет)

Egoarka
11.02.2017
13:56:12
?

Google

Nikolay
11.02.2017
13:56:27
@egorea1999 а твоя проблема кроется в реализации .bind
попробуй вот такое user.auth.bind(admin).bind(user)
удивишься
//ps второй бинд не сработает

Egoarka
11.02.2017
13:57:04
да ладна?

Nikolay
11.02.2017
13:57:07
да

Egoarka
11.02.2017
13:57:10
*сарказм*

Nikolay
11.02.2017
13:57:41
именно поэтому auth.call(admin) не срабатывает

Egoarka
11.02.2017
13:57:52
как бы срабатывает
эмм
))
вопрос прочитал?
> А как узнать, что передан сторонний контекст? И выкинуть исключение?

Nikolay
11.02.2017
13:58:30
ты исполнял что ты там написал?

Egoarka
11.02.2017
13:58:40
исполнял, ага

Nikolay
11.02.2017
13:58:47
user.auth.call(admin) // this.login выводится от юзера, а не админа
потому что ты выше делаешь user.auth.bind(user)

Egoarka
11.02.2017
13:58:58
да ладно???
1223 000
а коммент там для чего??
я коммент рядом оставил