【Typescript -学习笔记】接口和对象类型、数组

在typescript中,我们定义对象的方式要用关键字interface(接口)来定义一种约束,让数据的结构满足约束的格式。

interface Person {
	a:string,
    b:string 
}
//p1这样会报错,因为实例p1对象里缺少了属性b,实例和接口里的数量必须保持一致
let p1:Person  = {
    a:"123"
}

//p2,也会报错,因为p2里的属性类型也必须保持一致
let p2:Person = {
	a:123,
	b:'456'
}
//若p1里不需要太多的属性,则可以在接口中使用可选属性的方法,所以可以把Person 改造一下,这样p1就不会报错。
interface Person {
	a:string,
    b?:string 
}

继承属性

//继承
interface A{
    name:string
}
 
interface B extends A{
    age:number
}
 
let obj:B = {
 	name:"string"
    age:34,

定义数组

//普通方式定义数组
let arr: number[] = [1, 2, 3]; //数字类型的数组
let arr2: string[] = ["1", "2"]; //字符串类型的数组
let arr3: boolean[] = [true,false]; //bool类型的数组
let arr4: any[] = ['1',2,true[1,2,3],{name:'tc',age:33}] //任意类型数组

//泛型的方式定义
let arr5:Array<number> = [1,2,3,4] 
let arr6:Array<string> = ['2','3','4']
//泛型多维数组
let arr7:Array<Array<Number>> = [[1,2,3],[4,5,6],[7,8,9]]
//若多维数组中有字符串,可选用联合类型
let arr8:Array<Array<Number| String>> = [[1,2,3],[4,5,6],[7,8,9],['123','456']]

//类数组
//ts内置对象IArguments 定义
function Arr(...args:any): void {
    console.log(arguments) 
    let arr:IArguments = arguments
}
Arr(1, 2, 3)
 
//IArguments 是 TypeScript 内置的类型,其中包括的属性:
interface IArguments {
[index: number]: any;
length: number;
callee: Function;

记录一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值