函数类型
接口能够描述 JavaScript 中对象拥有的各种各样的外形。除了描述带有属性的普通对象外,接口也可以描述函数类型。—- 中文官方文档
自己写的 demo????:
// 函数类型
interface Add {(a:number, b:number):number
}
let sum:Add = function (a:number, b:number) {return a + b;}
console.log(sum(1,3));
对于函数类型的类型检查来说,函数的参数名不需要与接口里定义的名字相匹配,甚至不需要指定类型,TypeScript 的类型系统会推断出参数类型。
interface Add {(a:number, b:number):number
}
let sum:Add = function (c, d) {return c + d;}
console.log(sum(1,3));
函数中的 c、d 两个参数只是形式参数,只要参数类型、位置相匹配就行。
可索引的类型
可索引类型具有一个 索引签名 ,它描述了对象索引的类型,还有相应的索引返回值类型。
官网 demo????
通过 number 类型索引,得到 string 类型的返回值
interface StringArray {[index: number]: string;
}
let myArray: StringArray;
myArray = ["Bob", "Fred"];
let myStr: string = myArray[0];
我的 demo????
通过 string 类型索引,得到 number 数字类型的返回值
interface Person {[index: string]: number
}
let person: Person;
person ={"age": 18};
let age: number = person["age"];
console.log(age); // 18