類型
js的七種類型 + 枚舉() + any + void + never
enum類型的使用
enum Six {
// 不賦值的話默認從0開始復制,也可由單獨復制
man, // man= 0
wonen // women = 1
}
const p1:Six = Six.man
const p2:Six = Six.wonen
console.log(p1) // 0
console.log(p2) // 1
·any包含了(js的七種類型 + enum + void )·
默認情況下null和undefined是所有類型的子類型。 就是說你可以把 null和undefined賦值給number類型的變量
接口 Interface
接口就是用代碼描述一個對象必須有什么屬性(包括方法)
只讀屬性
interface Human{
readonly name: string,
readonly age: number
}
可選屬性
interface Human{
name?: string,
age?: number
}
interface 之外的屬性
使用類型斷言
interface Human{
name: string,
age: string
}
const fn= (human:Human) =>{
// xxx
return human
}
fn({name:'xx',age:'xx', six:'xxx'} as Human)
使用索引簽名
interface Human{
name: string,
age: string,
[propName:string]:any
}
const fn= (human:Human) =>{
// xxx
return human
}
fn({name:'xx',age:'xx', six:'xxx'})
interface描述對象中的方法
interface Human{
name: string,
age: string,
say(str:string):void // 括號中是參數 冒號后面是 返回值的類型 函數中不加return 默認返回void
}
interface直接描述對象
interface Fn {
(Human):Human
}
const fn:Fn= (human:Human) =>{
// xxx
return human
}
接口繼承
interface Human{
name: string,
age: string,
}
interface Animal extends Human {
type:string
}
