Это нормальный стиль кода или нет?
Приветствую.
Вот в доках пишут: Цитата:
const store = new Vuex.Store({
state: {
count: 0
},
actions: {
increment(context) { // Вот
context.commit('increment'); // про этот код
}
}
});
Теперь смотрю как этот код переделали в одном примере
actions: {
addToFavs({commit}, movie) {
commit("ADD_AS_FAVORITE", movie)
},
Я так понял что это он воспользовался деструктуризацией объекта, и вытянул с того объекта context его метод commit. И оно работает. Зачем - не знаю, может для экономии пары символов. Или так поступать - обычный прием? Если так, то js код очень часто напоминает какой то шифр, который сначала требуется разгадывать, не против этого ли написаны такие книги как "Чистый код" Роберта Мартина? |
опытный глаз сразу разгадает загадку... про чистый код тоже можно долго спорить ) вот, например, посмотрим код битрикса, не знаю, может быть там что-то уже поменялось, не видел его лет 5, и видел я его два раза )... тем не менее даже такой код приносит много прибыли, в то время когда кто-то пытается писать чистый код и сидит на воде с хлебом... при чем тут это? ))
|
Оно еще и this при этом теряет? Вообще жестяк.
А почему тут есть какой то this?
function User(name) {
this.name = name;
this.isAdmin = false;
this.hello = function(){
alert(typeof(this));
alert(this.name);
}
}
function checkThis({hello}) {
hello();
}
let user = new User("Вася");
/*
1)
Выведет:
object
Вася
*/
//user.hello();
/*
2)
Выведет:
object
result
*/
checkThis(user);
Вот demo в работе |
чтобы this работал, нужно вызвать метод из объекта ), а не напрямую... или использовать .bind, .apply
|
| Часовой пояс GMT +3, время: 02:58. |