Это нормальный стиль кода или нет?
Приветствую.
Вот в доках пишут: Цитата:
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, время: 20:00. |