1、接口类型中的任意属性
一旦定义了任意属性,那么确定属性和可选属性的类型都必须是它的子集。实例代码:
interface Person{
name: string;
age?:number; // 报错,应该是string类型
[propName: string]:string
}
//正确如下
interface Person{
name: string;
age?:number;
[propName: string]:any;
}
//或者如下
interface Person{
name: string;
age?:number;
[propName: string]:string | number;
}
2、只读属性
初始化的时候,给只读属性赋值,不是在使用的是 赋值
interface Person{
readonly id:number;
name: string;
age?: number;
[propName: string]: any
}
let tom: Person = {
id: 123,
name: 'tom',
gender: 'male'
}
3、数组的定义
let instance: number[] = [1,2,3,4,5]
//或者如下定义
let instance: Array<number> = [2,3,4,5,6]
// 存放任意类型的数据
let instance: any[] = [1,'2',3,'4',5]
4、函数中的一些难点
let mySum: (x:number,y:n