TypeScript对象的类型——接口

接口简单的例子

interface Person{
     name: string;
     age: number;
}
let tom: Person = {
    name : 'tom',
    age: 18
};
//语法注意接口赋值的时候是,隔开
//在调用的时候变量的形状需要一致否则会报错。

可选属性

interface Person{
     name: string;
     **age?: number;**
}
let tom: Person = {
    name : 'tom',
    //age: 18
};
//此时接口中age变量是可选属性,age可以不赋值其它变量形状需要一致

任意属性
有时候我们希望一个接口允许有任意的属性,可以使用如下方式:

interface Person {
    name: string;
    age?: number;
    [propName: string]: any;
}
let tom: Person = {
    name: 'Tom',
    gender: 'male'
};

需要注意的是一旦定义了任意属性,那么确定属性和可选属性都必须是它的子属性
并且下面可以添加任意数量的属性

一旦定义了任意属性,那么确定属性和可选属性都必须是它的子属性.jpg

只读属性
那么可以用 readonly 定义只读属性,需要注意只读的约束存在于第一次给对象赋值的时候,而不是第一次给只读属性赋值的时候
如果给对象赋值的时候没有添加id,或再次赋值都是报错

只读属性约束存在于第一次给对象赋值的时候.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容