Der Unterschied zwischen typeof in js und typescript typeof

Der Unterschied zwischen typeof in js und typescript typeof

In JavaScript typeofein Operator, der den Datentyp eines Werts zurückgibt. Es kann eine der folgenden Zeichenfolgen zurückgeben:

  • "undefined"Zeigt an, dass der Wert undefiniert ist
  • "boolean"Gibt an, dass der Wert ein boolescher Wert ist
  • "number"Gibt an, dass der Wert ein numerischer Wert ist
  • "bigint"Zeigt an, dass der Wert eine große Ganzzahl ist
  • "string"Gibt an, dass der Wert eine Zeichenfolge ist
  • "symbol"Zeigt an, dass der Wert ein Symbol ist
  • "function"Zeigt an, dass der Wert eine Funktion ist
  • "object"Zeigt an, dass der Wert ein Objekt oder istnull

Es ist zu beachten, dass es typeof nullsich im Gegenzug "object"um ein Altlastenproblem handelt.

In TypeScript typeofist es ebenfalls ein Operator, kann aber zur Typbeurteilung verwendet werden. Es gibt eine Typzeichenfolge zurück, die den Typ eines Werts angibt. Bei Verwendung typeofdes Operators ist der zurückgegebene Typ der Typ in TypeScript, nicht der Typ in JavaScript. Zum Beispiel:

let x = 123;
let y: typeof x = 456; // y 的类型为 number,和 x 的类型相同

In diesem Beispiel wird typeof xder zurückgegebene numberTyp verwendet, um yden Typ der Variablen zu definieren.

Zu beachten ist außerdem, dass in TypeScript typeofOperatoren auch verwendet werden können, um die Parametertypen, Rückgabewerttypen usw. einer Funktion abzurufen. Zum Beispiel:

function add(x: number, y: number) {
    
    
  return x + y;
}

type AddFunc = typeof add; // AddFunc 类型为 (x: number, y: number) => number

In diesem Beispiel wird typeof addder zurückgegebene (x: number, y: number) => numberTyp zum Definieren von Typaliasen verwendet AddFunc.

Guess you like

Origin blog.csdn.net/weixin_43727933/article/details/130549906