"Qualsiasi" supporta la covarianza e la contravarianza. Questo perché "any" è un super-tipo e un sottotipo di tutti i tipi.
Quindi questo funziona,
let genericVariable: any = 20;
let numericVariable: number;
genericVariable = numericVariable; // No error
numericVariable = genericVariable; // No error
supporta mista covarianza solo. È un super-tipo e non un sottotipo di tutti i tipi.
let genericVariable: mixed = 20;
let numericVariable: number;
numericVariable = genericVariable; // This shows error
genericVariable = numericVariable; // This works fine.
covarianza - tipo generico (genitore) potrebbe essere sostituito dal tipo speciale (bambino)
controvarianza - tipo speciale (bambino) potrebbe essere sostituito da tipo generico (genitore). Questo è un problema, a meno che non sia protetto da alcune convenzioni.
Il collegamento di questo documento è interrotto e [il documento corrente su 'mista'] (https://flow.org/en/docs/types/mixed/) non ha alcun testo simile. Ecco come appariva la pagina dei documenti quando esisteva: https://web.archive.org/web/20150513033813/http://flowtype.org/docs/base-types.html –