Size: a a a

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

2020 April 07

a

arts in TypeScript — русскоговорящее сообщество
Алексей
Ребята, только начал учить тс и решил переписать свой учебный проект. В этом примере, до того как я добавил тип any, вс код ругался на то, что моя переменная pos неявно имеет этот тип (по сути говоря pos и crd - это объекты). Слышал, что использование any в ts не очень желательно, аля пропадает весь смысл данного языка. Этот вариант норм, или можно как-то получше переписать?
Описать типы pos и crd и не использовать any
источник

D

Dartess in TypeScript — русскоговорящее сообщество
crd не обязательно, выведется же
источник

РФ

Руслан Фадеев in TypeScript — русскоговорящее сообщество
Алексей
Ребята, только начал учить тс и решил переписать свой учебный проект. В этом примере, до того как я добавил тип any, вс код ругался на то, что моя переменная pos неявно имеет этот тип (по сути говоря pos и crd - это объекты). Слышал, что использование any в ts не очень желательно, аля пропадает весь смысл данного языка. Этот вариант норм, или можно как-то получше переписать?
pos нужен тип {coords:{longtitude: number, latitude: number}}
источник

А

Алексей in TypeScript — русскоговорящее сообщество
Руслан Фадеев
pos нужен тип {coords:{longtitude: number, latitude: number}}
Спасибо, так работает)

А вообще как такие вещи лучше делать? Через интерфейсы (надеюсь ничего не путаю)?
источник

РФ

Руслан Фадеев in TypeScript — русскоговорящее сообщество
Алексей
Спасибо, так работает)

А вообще как такие вещи лучше делать? Через интерфейсы (надеюсь ничего не путаю)?
Скорее всего этот тип пригодится где-то ещё
источник

РФ

Руслан Фадеев in TypeScript — русскоговорящее сообщество
Считай, что тип - это такое значение, только считается на этапе компиляции
источник

РФ

Руслан Фадеев in TypeScript — русскоговорящее сообщество
А type Foo = - переменная
источник

РФ

Руслан Фадеев in TypeScript — русскоговорящее сообщество
Остальная логика с переиспользованием такая же, как в обычном коде
источник

А

Алексей in TypeScript — русскоговорящее сообщество
Руслан Фадеев
Остальная логика с переиспользованием такая же, как в обычном коде
Понял, спасибо большое за помощь)
источник

РФ

Руслан Фадеев in TypeScript — русскоговорящее сообщество
:)
источник

В

Виталий in TypeScript — русскоговорящее сообщество
Всем привет!

Наткнулся вот на такой код:

private guardStoreKey(storeKey: string | undefined): asserts storeKey is string {
   if (storeKey) return;
   throw new Error('Store key must be provided');
}


Это валидный синтаксис TS?
И что можете сказать про практику добавления к типу undefined?
источник

РФ

Руслан Фадеев in TypeScript — русскоговорящее сообщество
asserts - нет, не валидный
источник

РФ

Руслан Фадеев in TypeScript — русскоговорящее сообщество
Вместо undefined можно писать ?
источник

MS

Maxim Sosnov in TypeScript — русскоговорящее сообщество
asserts же недавно был добавлен как раз
источник

В

Виталий in TypeScript — русскоговорящее сообщество
Руслан Фадеев
Вместо undefined можно писать ?
Не понял вопроса
источник

РФ

Руслан Фадеев in TypeScript — русскоговорящее сообщество
Виталий
Не понял вопроса
Это не вопрос. Можно писать storeKey?: string
источник

РФ

Руслан Фадеев in TypeScript — русскоговорящее сообщество
Maxim Sosnov
asserts же недавно был добавлен как раз
источник

a

artalar in TypeScript — русскоговорящее сообщество
Виталий
Всем привет!

Наткнулся вот на такой код:

private guardStoreKey(storeKey: string | undefined): asserts storeKey is string {
   if (storeKey) return;
   throw new Error('Store key must be provided');
}


Это валидный синтаксис TS?
И что можете сказать про практику добавления к типу undefined?
Великолепная проверка на пустую строку
источник

a

artalar in TypeScript — русскоговорящее сообщество
Ох уж эта статическая типизация в жс...
источник

a

artalar in TypeScript — русскоговорящее сообщество
Руслан Фадеев
Вместо undefined можно писать ?
Они описывают разное поведение
источник