hlomzik
уфффф
hlomzik
смените меня)
hlomzik
при вызове этой функции она вызывается с указанным тобой контекстом, this указывает на {c:1}, this.a = 10 добавляет в ЭТОТ объект свойство. при этом у функции как объекта не меняется ничего
Egor
Каждый вызов функции имеет и область видимости, и переменную this, и контекст выполнения.
Egor
@dreamerinnoise у бинда нет свойства "a"
Egor
ты в example глянь
Egor
https://jsfiddle.net/5byap32q/
Egor
строка 16
Egor
где я её пытаюсь получить
Egor
я за это вам, а вы про что-то другое))
hlomzik
причем здесь bind?
Egor
bind для того, чтобы передать контекст в функцию
Egor
в моем примере функция f
hlomzik
var g = () => f.apply({c: 1})
hlomzik
почти аналогичный пример без всякого bind
Egor
ну это и так понятно, но я сейчас не стремился к упрощениям
hlomzik
при вызове у тебя будет модифицироваться переданный тобой объект. а сама функция НЕ меняется. у нее НЕ появляется свойства a
hlomzik
непонятно это тебе
hlomzik
bind ты используешь ОДИН раз. ты не используешь никакого "контекста bind"
Egor
1 min
Egor
https://jsfiddle.net/5byap32q/2/
Egor
в общем, получилось, как хотел
Egor
просто нужно было возратить контекст
Egor
с помощью функции
Egor
просто, чет я подумал, что он сам возратится, ну лады
Dreamerinnoise
просто, чет я подумал, что он сам возратится, ну лады
в js если ничего не возвращается, то вернётся undefined
Egor
это bind из примера на learn.js
hlomzik
ой, я идиот
Egor
@hlomzik https://learn.javascript.ru/bind
Egor
>Решение 2: bind для привязки контекста
Egor
=)
hlomzik
просто у тебя в /2 появился вызов после бинда
Egor
/2
Egor
а. я сразу создал bind с привязкой контекста и вызвал его
Egor
уже у самого язык заплетается
Dreamerinnoise
Js отупляет :3
hlomzik
Как в #yarn посмотреть список установленных пакетов? Установленных тобой пакетов. А то мне на 10 пакетов в package.json yarn list показывает 400.
hlomzik
хочу посмотреть версии
hlomzik
а извращаться не хочу))
Egor
https://jsfiddle.net/c1yb4s41/ вопросик внутри
Smooth Operator
(не делать так)
Egor
такой вопрос не стоял: делать или нет
Nikolay
по мне так странно хранить методы вместе с данными
Nikolay
темболее метод авторизации
Egor
это пример, ну
Egor
и в некоторых фреймворках есть функция, которая биндит все функции
Smooth Operator
сейфово никак
Smooth Operator
таких нативных механизмов тут нету.
Egor
@dersizes печальненько
Vlad
@dersizes печальненько
Тебе бы книгу по джс прочитать
Egor
@iamstarkov ну читаю параллельно
Vlad
You don't know js например
Egor
так-то
Egor
learn js
Dreamerinnoise
You don't know js например
у него джве недели
Dreamerinnoise
даже меньше
Nikolay
@egorea1999 а если добавить isAdmin или role поле
Nikolay
и уже по нему смотреть?
Nikolay
внутри auth метода
Nikolay
ведь у admin и user структур они будут разные
Egor
так можно, но мой вопрос абстрактный
Egor
я сейчас не организую пользователей и группы
Egor
а просто привел ну очень просто пример
Smooth Operator
Надеюсь Function.prototype.bind он модифицировать не будет)
Egor
😆
Nikolay
@egorea1999 а твоя проблема кроется в реализации .bind
Nikolay
попробуй вот такое user.auth.bind(admin).bind(user)
Nikolay
удивишься
Nikolay
//ps второй бинд не сработает
Egor
да ладна?
Nikolay
да
Egor
*сарказм*
Nikolay
именно поэтому auth.call(admin) не срабатывает
Egor
как бы срабатывает
Egor
эмм
Egor
))