TS中的類型、接口的使用


類型

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
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM