各大网站博客怎么做推广,营销型网站建设818gx,网站开发无使用期限怎么摊销,沈阳住房城乡建设部网站对象类型
定义对象需要用到interface#xff08;接口#xff09;#xff0c;主要用来约束数据的类型满足格式
定义方式如下#xff1a;
interface Person {name: string;age: number;
}如对象中与接口中的属性不一致会报错#xff0c;必须保持一致 例如如下#xff1a…对象类型
定义对象需要用到interface接口主要用来约束数据的类型满足格式
定义方式如下
interface Person {name: string;age: number;
}如对象中与接口中的属性不一致会报错必须保持一致 例如如下
interface Person {name: string;age: number;
}const person: Person {name:小C学安全
}
//会提示类型 { name: string; } 中缺少属性 age但类型 Person 中需要该属性。ts(2741)接口的重合和继承
重合interface可以合并两个相同对象名的属性 例如
interface Person {name: string;
}
interface Person {age: number;
}
const person: Person {name:小C学安全,age: 20
}继承interface例如对象A可以继承对象B的属性 例如
interface PersonA {name: string;
}
interface PersonB extends PersonA {age: number;
}
const person: PersonB {name:小C学安全,age: 20
}可选属性
可选属性就是该属性是可以不存在的 例如
interface PersonA {name: string;age?: number;
}const person: PersonA {name:小C学安全,
}
//这样写是不会报错的也可以这么写
interface PersonA {name: string;age?: number;}const person: PersonA {name:小C学安全,age: 20
}任意属性
定义方式 [propName: string]
interface PersonA {name: string;age?: number; //定义可选属性[propName: string]:any; //定义任意属性}const person: PersonA {name:小C学安全,age: 20,city: 北京
}以上代码中PersonA并没有定义属性city但是代码没有报错是因为我们定义了任意属性
只读属性
只读属性是只能读取但是不允许被赋值修改的 定义方式在属性前加上readonly 例如
interface PersonA {readonly name: string;age?: number; //定义可选属性[propName: string]:any; //定义任意属性}const person: PersonA {name:小C学安全,age: 20,city: 北京
}person.name 小白以上代码就会报错会提示 无法为“name”赋值因为它是只读属性。ts(2540) 添加函数
可以给对象属性添加函数 例如
interface PersonA {readonly name: string;age?: number; //定义可选属性[propName: string]:any; //定义任意属性test : ()void; // 定义函数
}const person: PersonA {name:小C学安全,age: 20,city: 北京,test: (){console.log(定义函数成功)}
}person.test()