typescript中的class与interface的区别

2018-08-22  本文已影响0人  theBigEye

前言

typescript中声明一个类型,我们通常会有两种做法:
1.使用class

  export default class state {
    userInfo: {
        name: string,
        age: number
    }
}

2.使用interface

 export interface STATE {
    userInfo : {
        name: string,
        age: number
    }
}

那么这两种声明类型的方案有什么区别?

由于typescript的宗旨是兼容js,运行时要擦除所有类型信息,因此interface在运行时是会被完全消除的。而class经过编译后,在运行时依然存在。因此如果要声明的类型只是纯粹的类型信息,只需要声明interface即可。

上一篇 下一篇

猜你喜欢

热点阅读