#typescript #typescript-generics
#typescript #typescript-generics
Вопрос:
Что означает это утверждение?
type O<T> = T | unknown[]
В каком случае unknown
используется и что O<T>
означает?
Комментарии:
1. Это общий тип объединения . В нем говорится «значение будет либо того типа, который я указал как
T
, либо массивом неизвестно чего» .2. Когда
unknown
назначается, я знаю, что это объединение общего типа.3. Тогда мне непонятно, о чем вы спрашиваете.
4. Пример
const a: O<string> = [{}, "something"];
5. Спасибо, я искал пример. упоминание общего типа
T
и предоставление, отличное от этого, будет использоватьunknown[]
Ответ №1:
Полное описание unknown
. https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-0.html#new-unknown-top-type
Короче говоря, можно назначить что угодно unknown
, но для доступа к unknown
требуется сужение типа.
O<T>
из вашего примера означает некоторый T или массив неизвестных.
let o: O<number> = 123;
o = [true, '123'];
if (typeof o === 'number') {
const n: number = o;
}
Комментарии:
1. Спасибо, это именно то, что я искал.