me属性
interface parent {
name: string
}
function getname(anyamin:parent) {
console.log(anyamin.name)
}
//继承于parent的子类必须实现 name属性,要不会报错
getname({name: '123123'})
// 当然接口的属性是可以定义成可选的
interface anany {
name: string,
age?: number,
sex?: string
}
let bbb: anany = {
name: '123132',
}
// bbb可以不去实现sex 和 age ,当然也不能给bbb新增属性,那么也会报错
// 只读属性的定义
interface point {
readonly x: number,
readonly y: number
}
let bp: point = {
x: 123,
y: 123
}
// bp.x = 6 报错,只读属性不能从新赋值
// 函数类型
interface SearchFunc{
//表示一个函数,有两个参数,第一个参数是string类型,第二个参数是number,返回值是void
// x y 为形参,不需要一样
(x: string,y: number): void
}
let func: SearchFunc = function(z: string,b: number) {
console.log(z+b)
}
func('1',2)
// 可索引类型 好像和数组类似,没多大区别
interface stringarrray{
[index: number]: string
}
let arrayname: stringarrray = ['bob','333']
console.log(arrayname[0])
//类 类型 。。。。。。
|