TypeScript #3 Сигнатура и перегрузка функций

  Рет қаралды 9,111

codeBurger

codeBurger

Күн бұрын

Пікірлер: 10
@eugeneshiyan
@eugeneshiyan 4 жыл бұрын
Круто брат!
@Almas-2002
@Almas-2002 4 жыл бұрын
Лайк
@linked_list_DLL
@linked_list_DLL 2 ай бұрын
А зачем мы типизируем функцию, которую присваиваем переменной c?? Выходит, что у переменной c объявлен тип (в виде стрелочной функции с неявным возвратом), которая уже типизирована и у которой уже есть правильная сигнатура, а затем мы вновь, для переменной c описываем функцию с сигнатурой. Выходит, что мы повторно создаём новую функцию с новой сигнатурой. Если функция привязана к конкретной сигнатуре, то для присвоенной функции, наверно уместнее такой описание: let c: (x: number, y: number): number => number; c = function(x, y){ return x + y}. Или я в чём-то ошибаюсь? Ну, chat gpt выдаёт такую информацию. Возможно, она не верна. Если кто-то это прочтёт, пожалуйста, подскажите.
@whicencer8819
@whicencer8819 3 жыл бұрын
Спасибо за ваши уроки. Один вопрос возникает. Как на практике используются перегрузки, и зачем они вообще нужны?
@codeBurger
@codeBurger 3 жыл бұрын
Я сам их не использую, и не видел чтобы другие использовали
@Retruntobase
@Retruntobase 3 жыл бұрын
В библиотеке Redux например, если взглянете на исходники
@ДенисЧумак-ъ5щ
@ДенисЧумак-ъ5щ 4 жыл бұрын
Добрый вечер. Возник вопрос. let ax = function (h: number): number { return 1; } function foo3(a: number, callback: (init: number) => void) { let t = callback(a); console.log(t); } foo3(5555,ax); //1 не смотря на то, что согласно сигнатуре (callback возвращает void) , callback все равно вернет число ? как то странно
@codeBurger
@codeBurger 4 жыл бұрын
Привет, TS проверяет только типы let t = callback(a); Так как у t не задан тип, он не считает ошибкой вернуть из функции тип void в переменную t
@ДенисЧумак-ъ5щ
@ДенисЧумак-ъ5щ 4 жыл бұрын
​@@codeBurger , вы говорите : вернуть из функции тип void в переменную t. но void насколько я знаю из жс это undefined. а он возвращает единицу. Вот это как то у меня не укладывается в голове. просто в жс если я напишу let t=void 1 , то t будет undefined. а в примере выше в t попадает 1
@chingis091
@chingis091 3 жыл бұрын
​@@ДенисЧумак-ъ5щ Если функция в параметре имеет тип void, то ей неявно присваивается тип any, поэтому если колбэк-функция все равно возвращает что-то, то компилятор не будет выдавать ошибку. Проверка на void происходит только при объявлении функции
Типизация функций в TypeScript
17:35
Михаил Непомнящий
Рет қаралды 14 М.
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН
It works #beatbox #tiktok
00:34
BeatboxJCOP
Рет қаралды 41 МЛН
99.9% IMPOSSIBLE
00:24
STORROR
Рет қаралды 31 МЛН
Арыстанның айқасы, Тәуіржанның шайқасы!
25:51
QosLike / ҚосЛайк / Косылайық
Рет қаралды 700 М.
Callback это просто. Разбираемся в callback JavaScript
15:33
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 76 М.
Фишки TypeScript о которых ТЫ НЕ ЗНАЛ!
30:55
TypeScript generics или универсальный типы, обобщения
23:51
Михаил Непомнящий
Рет қаралды 35 М.
Function overloading. Как работают
11:21
easydev
Рет қаралды 736
TypeScript #6 Классы
12:44
codeBurger
Рет қаралды 6 М.
Что такое TypeScript?
5:28
Merion Academy
Рет қаралды 37 М.
TypeScript - Enums: Обзор и когда не надо использовать
11:24
PurpleSchool | Anton Larichev
Рет қаралды 15 М.
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН