Показать сообщение отдельно
  #68 (permalink)  
Старый 30.05.2023, 15:54
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,745

Сообщение от webgraph
function getLength<T>(arg: T): number {
    return arg.length;
}

Просто франкенштейн какой-то.
Ну так generic бесполезен более, чем полностью, и код содержит ошибку.
Смотришь на это нечто и задаешься вопросом: «А что, собственно, эта хрень в ка-ве аргумента принимает?»

Переписать эту функцию, например, так и все вопросы отпадают (3 варианта на выбор):
function getLength(lengthAwareItem: { length: number }): number;
function getLength(array: unknown[]): number;
function getLength(item: unknown[] | { length: number }): number {
    return item.length;
}
Ответить с цитированием