Typescript: Die Datentypen any, unknown und never

Wenn ihr Typescript verwendet, dann werdet ihr wahrscheinlich früher oder später auf die Datentypen any, unknown und never stoßen.
Zum Beispiel wenn man eine Javascript Bibliothek nutzt, dann wird öfters any und unknown vorgeschlagen. Oder wenn man Javascript code in Typescript code umwandeltn möchte, dann hagelt es voller anys in den Vorschlägen.
Doch was ist der Unterschied zwischen any, unknown und never?
any kann alles sein ohne Typsicherheit, so wie im original Javascript. unknown verlangt eine Typsicherheit, kann aber auch alles sein. never stellt sicher, dass eine Funktion nichts zurückgibt.

Hier ein kurzes Beispiel:

/* use 'any' if you convert JS into TS. Or when type safety is not needed for this context */
let content: any = 4;
content = true;
content = [1,2,3,4,5];
console.log(content);

/* use 'unknown' if you want to ensure type safety in TS */
let no_idea: unknown = 4;
no_idea = '   unknown text   ';

/* some compilers say 'no_idea' is of type 'unknown' if you execute the next line */
no_idea = no_idea.trim();

/* to avoid this error make sure that 'unknown' is type of string before use a string function */
if(typeof no_idea === 'string'){
    no_idea = no_idea.trim();
    console.log(no_idea);
}

/* use 'never' for functions that ensure to return nothing*/
function neverFunction(text: string): never {
   throw new Error(text);
}

neverFunction("never test");



0
0
0.000
4 comments
avatar

!BBH !WITZ !LUV

0
0
0.000
avatar

@ozelot47! Your Content Is Awesome so I just sent 1 $BBH (Bitcoin Backed Hive) to your account on behalf of @dotwin1981. (22/50)

0
0
0.000