在TypeScript中,typeof操作符可以用來獲取一個變量或對象的類型。
復制代碼
interface Person {
name: string;
age: number;
}
const sem: Person = { name: "semlinker", age: 30}
type Sem = typeof sem; // type Sem = Person
復制代碼
在上面代碼中,我們通過typeof操作符獲取sem變量的類型並賦值給Sem類型變量,之后我們就可以使用Sem類型:
const lolo: Sem = { name: "lolo", age: 5 }
你也可以對嵌套對象執行相同的操作:
復制代碼
const kakuqo = {
name: "kakuqo",
age: 30,
address: {
province: '福建',
city: '廈門'
}
}
type Kakuqo = typeof kakuqo;
/**
- type Kakuqo = {
- name: string;
- age: number;
- address: {
- province: string;
- city: string;
- }
- }
*/
復制代碼
此外,typeof操作符除了可以獲取對象的結構類型之外,它也可以用來獲取函數對象的類型,比如:
function toArray(x: number): Array
return [x]
}
type Func = typeof toArray; // -> (x: number) => number[]