порядок выполнения действий
Добрый день, дамы и господа.
Есть объект с сеттером и геттером: var gsrService = { alertsList : { set add(v) { if(_shown.length < 5) { _shown.push(v); return true; } return false; }, //тут была опечатка get : function (a) {/*bla-bla*/} }, .... } Вот так вот работает: var aaa = 'piu - piu'; if(gsrService.alertsList.add = aaa) { //bla-bla } А теперь вопрос почему вот то самое "бла-бла", которое внутри if, срабатывает всегда и consile.log(gsrService.alertsList.add = e.detail.thread) выводить 'piu - piu' вместо true или false |
Это setter
|
Потому что операция присваивания всегда возвращает крайне правый элемент (ну кроме присваиваний при декларации переменной), т.е. то, что присваивается, т.е. тебе для корректной работы нужен сетер как просто метод, а не как set
|
Спасибо, буду знать
|
Часовой пояс GMT +3, время: 02:21. |