Size: a a a

2019 September 21

TS

Terry Sahaidak in React Kyiv
Alexey Raspopov
ты к этому привык
ну так це очевидно, і це не означає, що це погано ж
источник

AR

Alexey Raspopov in React Kyiv
Нет не значит. Так же как не значит что let должен был вести себя как const 🙂
источник

TS

Terry Sahaidak in React Kyiv
Alexey Raspopov
очевидным оно является не потому что “const по рукам ударит”, а потому что фреймворк твой заставляет тебя так писать
ось приклад моделей на мобікс та мст
вони фактично є ідентичними
поясни мені, будь ласка, чому я мушу тут замість const заюзати let, і чому мене “фреймворк” змушує юзати конст?
источник

TS

Terry Sahaidak in React Kyiv
// mobx
class TodoModel {
 @observable id = uuid();
 @observable title = '';

 constructor(title) {
   this.title = title;
 }
}

// mobx-state-tree
const TodoModel = types.model({
 id: types.optional(types.string, () => uuid()),
 title: '',
});
источник

G

GNU/Vsevolod.rs in React Kyiv
Terry Sahaidak
Не дивно, лет мав би поводитись як конст
Нужно бабель плагин, в котором
let -> let mut
const -> let
источник

AR

Alexey Raspopov in React Kyiv
Terry Sahaidak
ось приклад моделей на мобікс та мст
вони фактично є ідентичними
поясни мені, будь ласка, чому я мушу тут замість const заюзати let, і чому мене “фреймворк” змушує юзати конст?
Я не говорю что ты должен писать let вместо const. Моя позиция в том, почему мы все вдруг начали писать const.

Я не говорю что “фреймворк” заставляет. тебя писать const. Я говорю что “фреймворк” подводит к паттернам где ты используешь имутабельные данные, независимо от кейворда.

Это всё разные причинно-следственные связи
источник

TS

Terry Sahaidak in React Kyiv
Alexey Raspopov
Я не говорю что ты должен писать let вместо const. Моя позиция в том, почему мы все вдруг начали писать const.

Я не говорю что “фреймворк” заставляет. тебя писать const. Я говорю что “фреймворк” подводит к паттернам где ты используешь имутабельные данные, независимо от кейворда.

Это всё разные причинно-следственные связи
саме у прикладі вище як мене це змушує юзати імутабельні дані?
источник

TS

Terry Sahaidak in React Kyiv
ну типу в цьому випадку ти б написав “лет” — чому?
источник

AR

Alexey Raspopov in React Kyiv
Terry Sahaidak
ну типу в цьому випадку ти б написав “лет” — чому?
вопрос в том, почему бы ты написал const
источник

AR

Alexey Raspopov in React Kyiv
я мог бы написать и var, в современном js ничего бы не сломалось
источник

TS

Terry Sahaidak in React Kyiv
Alexey Raspopov
вопрос в том, почему бы ты написал const
тому шо я хочу явно сказати, що цю хрінь перевизначати не варто, тому шо це клас
источник

AR

Alexey Raspopov in React Kyiv
Terry Sahaidak
тому шо я хочу явно сказати, що цю хрінь перевизначати не варто, тому шо це клас
а почему вдруг кому-то (тебе или твоим тиммейтам) может прийти в голову переопределить переменную в топ левеле модуля?
источник

TS

Terry Sahaidak in React Kyiv
і те шо жс дозволяє тобі перевизначати class Todo чи function Todo не означає, шо це добре, а просто шо жс м’яко кажучи гавняний
источник

TS

Terry Sahaidak in React Kyiv
Alexey Raspopov
а почему вдруг кому-то (тебе или твоим тиммейтам) может прийти в голову переопределить переменную в топ левеле модуля?
ти давно з джунами не працював, видно)
але загалом суть в тому, шо коли я оголошую тип, я явно даю поняти, шо він не буде мінятись
источник

TS

Terry Sahaidak in React Kyiv
так само як нема смислу в такому коді
class Todo {}

Todo = ''
источник

TS

Terry Sahaidak in React Kyiv
от як ше приклад
якшо б мені треба було міняти оголошення класу
я б написав отак:

// mobx-keystone
let TodoModel = class extends Model({
 id: prop<string>(() => uuid()),
 title: prop<string>(() => ''),
}) {};
источник

AR

Alexey Raspopov in React Kyiv
Terry Sahaidak
так само як нема смислу в такому коді
class Todo {}

Todo = ''
должна быть причина почему такое присвоение может случиться. зачем воевать против несуществующей проблемы?
источник

TS

Terry Sahaidak in React Kyiv
Alexey Raspopov
должна быть причина почему такое присвоение может случиться. зачем воевать против несуществующей проблемы?
я не воюю з неіснуючою проблемою, я пишу чистий код, який на 100% дає поняти, шо там буде той тип, який я вказав
источник

TS

Terry Sahaidak in React Kyiv
і шоб якшо я дивився в той код, я точно знав шо він мінятись не буде
і якшо там пише let – то буде (десь в мене навіть був приклад, де мені доводилось використовувати лет, так як оголошення дійсно мінялось дальше в модулі)
источник

TS

Terry Sahaidak in React Kyiv
тобто суть не у звичці
а у явному посилі мого коду
пишу конст не тому шо так модно, а тому що він відображає те, що я маю на увазі в тому коді
источник