Size: a a a

TypeScript — русскоговорящее сообщество

2021 January 20

Т

Тёмыч in TypeScript — русскоговорящее сообщество
гг
источник

AK

Andrei Kurosh in TypeScript — русскоговорящее сообщество
И кстати, если говорить о производительности, то большие игроки (типа facebook и vk) написали свои статически типизированные диалекты php, потому что уперлись в возможности официального рантайма
источник

AK

Andrei Kurosh in TypeScript — русскоговорящее сообщество
ну и в techempower benchmark php даже в десятку лидеров не попадает
источник

AK

Andrei Kurosh in TypeScript — русскоговорящее сообщество
за сим также откланяюсь
источник

АИ

Артем Ильченко... in TypeScript — русскоговорящее сообщество
Всем привет, кто может плз объясните мне магию которую я не понимаю. Есть хук, когда его вызываю ожидаю что получится общий тип типа boolean/string и т.п. но происходит сужение типов. Но если обернуть в кортеж(как работает useState) то всё норм и типы не сужаются
источник

АИ

Артем Ильченко... in TypeScript — русскоговорящее сообщество
источник

АИ

Артем Ильченко... in TypeScript — русскоговорящее сообщество
источник

И

Иван in TypeScript — русскоговорящее сообщество
Артем Ильченко
Всем привет, кто может плз объясните мне магию которую я не понимаю. Есть хук, когда его вызываю ожидаю что получится общий тип типа boolean/string и т.п. но происходит сужение типов. Но если обернуть в кортеж(как работает useState) то всё норм и типы не сужаются
нигде не вижу boolean | string
у тебя явно написано

function fn<T>(неВажно: НеВажно, неВажно: T): T { не важно }
const value = fn(неВажно, true)

тип value вычисляется из типа второго параметра

напишешь fn(неВажно, new Date()), value будет типа Date
источник

АИ

Артем Ильченко... in TypeScript — русскоговорящее сообщество
Иван
нигде не вижу boolean | string
у тебя явно написано

function fn<T>(неВажно: НеВажно, неВажно: T): T { не важно }
const value = fn(неВажно, true)

тип value вычисляется из типа второго параметра

напишешь fn(неВажно, new Date()), value будет типа Date
мне так и нужно что бы вычислялось из типа творого аргумента функции

если вот так сделать возврщаемый тип, то возвращается уже boolean так ка и нужно
источник

АИ

Артем Ильченко... in TypeScript — русскоговорящее сообщество
Иван
нигде не вижу boolean | string
у тебя явно написано

function fn<T>(неВажно: НеВажно, неВажно: T): T { не важно }
const value = fn(неВажно, true)

тип value вычисляется из типа второго параметра

напишешь fn(неВажно, new Date()), value будет типа Date
источник

АИ

Артем Ильченко... in TypeScript — русскоговорящее сообщество
Иван
нигде не вижу boolean | string
у тебя явно написано

function fn<T>(неВажно: НеВажно, неВажно: T): T { не важно }
const value = fn(неВажно, true)

тип value вычисляется из типа второго параметра

напишешь fn(неВажно, new Date()), value будет типа Date
источник

🦜

🦜 in TypeScript — русскоговорящее сообщество
Подскажите, как типизировать клик с dataset в реакте?
источник

И

Иван in TypeScript — русскоговорящее сообщество
Артем Ильченко
мне так и нужно что бы вычислялось из типа творого аргумента функции

если вот так сделать возврщаемый тип, то возвращается уже boolean так ка и нужно
я понял

кек, я хз, как это сделать)
источник

И

Иван in TypeScript — русскоговорящее сообщество
🦜
Подскажите, как типизировать клик с dataset в реакте?
а в чём проблема?
источник

🦜

🦜 in TypeScript — русскоговорящее сообщество
Иван
а в чём проблема?
const onToggleExpand = (e: React.MouseEvent<HTMLDivElement>) => {
       debugger;
       const id = e.target.dataset['id'];

Property 'dataset' does not exist on type 'EventTarget'.
источник

И

Иван in TypeScript — русскоговорящее сообщество
🦜
const onToggleExpand = (e: React.MouseEvent<HTMLDivElement>) => {
       debugger;
       const id = e.target.dataset['id'];

Property 'dataset' does not exist on type 'EventTarget'.
currentTarget
источник

🦜

🦜 in TypeScript — русскоговорящее сообщество
Иван
currentTarget
мне не нужен карент в обработчике
источник

И

Иван in TypeScript — русскоговорящее сообщество
🦜
мне не нужен карент в обработчике
у e.target тип Element
у e.currentTarget тип Element & HTMLDivElement

у Element нет dataset
у HTMLDivElement есть dataset
источник

И

Иван in TypeScript — русскоговорящее сообщество
🦜
мне не нужен карент в обработчике
тебе нужен dataset, значит тебе нужен currentTarget
источник

🦜

🦜 in TypeScript — русскоговорящее сообщество
Иван
тебе нужен dataset, значит тебе нужен currentTarget
не нужен
источник