Size: a a a

2020 December 15

VS

V7v S6k in Frontend UA
Eugene Obrezkov
ну вот для рефа, с TypeScript и нормальным ESLint на такой лог объекта была бы ошибка компиляции типа "ты тут строку выводишь, но это не строка, давай норм сделай, как ты хочешь застрингифаить её"
Все б не погано, але ТС був спеціально створений для людей, які не додають лінтери і пишуть const undefined. Тому якщо ти віриш, що ці люди можуть трапитися на твоєму проекті, то ти маєш розуміти що ніщо їх не зупинить написати logger(string: any) і логати туди все що завгодно.
источник

VS

V7v S6k in Frontend UA
ТС захищає від помилок по неуважності, а не від malevolence
источник

EO

Eugene Obrezkov in Frontend UA
V7v S6k
ТС захищає від помилок по неуважності, а не від malevolence
нету языка который бы тебя защитил от второго
источник

EO

Eugene Obrezkov in Frontend UA
по незнанию можно что угодно сделать
источник

VS

V7v S6k in Frontend UA
Ну от)
источник

EO

Eugene Obrezkov in Frontend UA
это скорее про "ой, я реально завтыкал этот кейс проработать"
источник

EO

Eugene Obrezkov in Frontend UA
а если человек не понимает что от него хотят, он всегда может директивой заглушить с аргументом "оно ж работает"
источник

Вт

Ві тя in Frontend UA
Есть такие что делают такие ошибки и говорят онож работает, ты идешь к манагеру и тот тоже говорит оножработает, и вот тогда пиздец)
источник

EO

Eugene Obrezkov in Frontend UA
Ві тя
Есть такие что делают такие ошибки и говорят онож работает, ты идешь к манагеру и тот тоже говорит оножработает, и вот тогда пиздец)
Начнём с того почему менеджера эти технические детали должны волновать. Не к тому человеку ты ходишь 🤷
источник

Вт

Ві тя in Frontend UA
Eugene Obrezkov
Начнём с того почему менеджера эти технические детали должны волновать. Не к тому человеку ты ходишь 🤷
Инжиниринг менеджера? Как-рвз наоборот
источник

DD

Dmytro Dovhan in Frontend UA
const { isSection, isSlim, isInputAlignedCheckbox, isFullWidth } = get(formItem, 'formData', {});

Property 'isFullWidth' does not exist on type 'BaseFormData | {}'.

подскажите с тайпскриптом,

пока обхожу проблему через get(formItem, 'formData', {}) as BaseFormData

но мне кажется должно быть более правильное решение
источник

EO

Eugene Obrezkov in Frontend UA
Dmytro Dovhan
const { isSection, isSlim, isInputAlignedCheckbox, isFullWidth } = get(formItem, 'formData', {});

Property 'isFullWidth' does not exist on type 'BaseFormData | {}'.

подскажите с тайпскриптом,

пока обхожу проблему через get(formItem, 'formData', {}) as BaseFormData

но мне кажется должно быть более правильное решение
правильно кажется, да
источник

EO

Eugene Obrezkov in Frontend UA
если я правильно понял что делает get, то ты же сам ему говоришь что если свойства не будет то это пустой объект
источник

EO

Eugene Obrezkov in Frontend UA
на котором, очевидно, нету isFullWidth
источник

DD

Dmytro Dovhan in Frontend UA
Eugene Obrezkov
если я правильно понял что делает get, то ты же сам ему говоришь что если свойства не будет то это пустой объект
да lodash get возвращает 3й аргумент как дефолтное значение

ок спасибо
источник

EO

Eugene Obrezkov in Frontend UA
верни не просто объект, а что-то типа { isFullWidth: false }
источник

EO

Eugene Obrezkov in Frontend UA
что там должно быть по умолчанию
источник

Вт

Ві тя in Frontend UA
Dmytro Dovhan
const { isSection, isSlim, isInputAlignedCheckbox, isFullWidth } = get(formItem, 'formData', {});

Property 'isFullWidth' does not exist on type 'BaseFormData | {}'.

подскажите с тайпскриптом,

пока обхожу проблему через get(formItem, 'formData', {}) as BaseFormData

но мне кажется должно быть более правильное решение
у лодаш get должен бьіть женерик аргумент, ща гляну
источник

Вт

Ві тя in Frontend UA
Eugene Obrezkov
верни не просто объект, а что-то типа { isFullWidth: false }
или {} as unknown as BaseFormData
источник

Вт

Ві тя in Frontend UA
get<TObject extends object, TKey extends keyof TObject, TDefault>(object: TObject | null | undefined, path: TKey | [TKey], defaultValue: TDefault): Exclude<TObject[TKey], undefined> | TDefault;
источник