type和interface的区别

两者大致相同,只有轻微区别:

  • interface使用extends继承,type使用&继承。

  • type可以声明联合类型和元组类型,interface不行:

    type unionType = myType1 | myType2
    type tupleType = [myType1, myType2]
    
  • type可以使用typeof来定义:

    type myType = typeof someObj
    
  • type可以是基本类型的别名

  • interface可以实现声明合并,而type不行:

    interface test {
      name: string
    }
    
    interface test {
      age: number
    }
    
    /*
      test实际为 {
        name: string
        age: number
      }
    */
    
posted @ 2022-11-28 09:57  hdxg  阅读(655)  评论(0)    收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css