169 похожих чатов

Я так понял, что ТС не видит ошибки, если аргументов

передано меньше, чем указано в типе? Это немного странно... Ведь, если больше, то ошибку он выдает все-таки...

declare type A = {
foo(number): void,
}

const ex1: A = {
foo(a) {}
} // количество аргументов равно указанному в типе - ok

const ex2: A = {
foo() {}
} // количество аргументов меньше, чем указано в типе - ok??? why?

const ex3: A = {
foo(a,b) {}
} // количество аргументов больше, чем указано в типе - не ok!

https://vk.cc/8RoHPH - сократил ссылку

1 ответов

7 просмотров

Была как-то статья про это. Не помню от кого, но от кого-то из TS-тусовки, как бы даже не от дядюшки Андерса. Так вот в той статье рассуждалось о том, что лучше не юзать перегрузки, потому что JS предоставляет возможность вызывать функцию с произвольным количеством аргументов и обрабатывать внутри функции произвольное количество аргументов: даже если их объявлено два, по факту мы может работать с пятью, например, и наоборот. И вот там говорилось о том, что в TS сознательно пошли на решение оставить это поведение из JS. Поэтому если сигнатура типа имеет 10 аргументов, а сигнатура функции по факту <= 10, но что важно, все имеющиеся типы аргументов совпадают, то всё норм.

Похожие вопросы

Обсуждают сегодня

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
Есть сайт. Там была древняя версия эво. Стоял плагин, который каждый коммент в Jot делал отдельной страницей. После обновления все слетело, теперь старница открывается отдельн...
Artem
1
Всем привет! Кто нибудь парсил в ручную JSON без библиотек и фреймворков? Есть может ссылки на оптимальный алгоритмы работы с текстом и примеры таких парсеров?
Lem
27
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Приветствую всех. Хочу начать изучать код для программирования микроконтроллеров и не пойму с чего начать. То ли с Си, то ли с плюсов. Чем языки вообще различаются. С чего мож...
Андрей
7
Карта сайта