порядок выполнения действий
Добрый день, дамы и господа.
Есть объект с сеттером и геттером:
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, время: 01:02. |