TypeScript的类型解析

1. 接口与类型别名的对比

  1. 相同点: 都可以给对象指定类型
  2. 不同点
    • 接口,只能为对象指定类型, 还可以通过extends继承其他类型
    • 类型别名,不仅可以定义对象类型,还可以为任意类型指定别名
	interface Person {  // 接口
		name: string
		age: number
	}
	
	interface Son extends Person { // 接口继承
		eat: string
		say: () => void
	}
	
	
	type Persons = {
		name: string
		age: number	
	}
	//别名 自定义类型别名
   type NumStr = number | string
	
	

2. 类型断言

  1. 有的时候要不TS更加明确一个值的类型,此时可以使用类型断言来指定更具体的类型。
  2. 比如: 在获取dom对象的方法的时候,类型推论的类型,不太严谨。 这个时候就需要使用类型断言来指定更加具体的类型
	const aLink = doucument.getElementById('link') as HTMLAnchorElement
	// 重点是 as 和后面 HTMLAnchorElement
	1. 使用as关键字实现类型断言
	2. 关键字as后面的类型是一个更加具体的类型(HTMLAnchorElement 是 HTMLElementd 的子类型)	

3. class类之 implements

  1. 类继承的两种方式 extends (继承父类), implements (实现接口)
	interface Singble {
		sing(): void
	}
	class Person implements Singble { 
		sing() {
			console.log('this is a implements')
		}
	}
  1. 通过implements关键字让class 实现接口
  2. Person类实现接口Singble意味,Person 类中必须提供Singble接口中定义的所有方法和属性。

4. 泛型

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值