初始化实例的时候不会对类型进行检查?

来源:4-7 类中的泛型以及泛型类型

慕莱坞0998854

2020-02-04

老师的演示代码有这么一段

class DataManager<T>{
	constructor(private data: T[]){}
	getItem(index: number):T{
		return this.data[index]
	}
}
interface Test {
	name: string
}
const data = new DataManager<Test> ([])

我的问题是,这里T明显已经指定为Test类型了,那么这里面的data应该为Test [], 为什么这里初始化的时候使用的是[]这样的空数组但并没有报错呢?为什么不用像之前的例子一样写成

const data = new DataManager({
	name:'dell'
})

这样的呢?初始化的时候并不会检查?

写回答

1回答

Dell

2020-02-09

是的,这个其实也是我代码写的问题,getItem应该类型是T|undefined

0
0

专为小白设计的TypeScript入门课

Dell老师专为TypeScript小白打造的,全栈式教学TS入门课程

2249 学习 · 506 问题

查看课程