乐趣区

TypeScript-interface-函数类型-可索引类型

函数类型

接口能够描述 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
退出移动版