Warum wird der Rückgabetyp einer generischen Typskriptfunktion für eine variable Initialisierung und eine Zuordnung unteJavaScript

Javascript-Forum
Anonymous
 Warum wird der Rückgabetyp einer generischen Typskriptfunktion für eine variable Initialisierung und eine Zuordnung unte

Post by Anonymous »

Bei einer Typskriptfunktion mit einem generischen Typ, der für den Rückgabeart verwendet wird und einen Standardwert hat, wird der Rückgabetyp der Funktion unterschiedlich abgeleitet, wenn der Rückgabewert der Funktion zur Initialisierung einer Variablen verwendet wird und eine typisierte Variable zugewiesen wird.

Code: Select all

function test(elementName:string):T{
// irrelevant, just returning something
return document.createElement(elementName) as unknown as T;
}

const e1 = test('div'); // fine, e1's inferred type is HTMLElement
let e2: HTMLElement | undefined;
e2 = test('div'); // Type error
Im ersten Fall (E1) ist alles in Ordnung, der Standard -generische Typ htmlelement wird verwendet und der Typ von E1 wird in htmlelement . Htmlelement .
Warum ist das Verhalten unterschiedlich? Warum wird der generische Standardwert im zweiten Fall nicht verwendet? Ist es erwartet?
Beispiel auf dem TS -Spielplatz

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post