下面是一些打字脚本:
let markdown = <HTMLTextAreaElement>document.getElementById(id);
let markdownoutput = <HTMLLabelElement>document.getElementById(output);
在上面的代码中,在使用element by id选择某些东西之前,我们声明了元素类型param.(<HTMLTextAreaElement>
)它工作得很好。但是我们从中得到的好处是什么呢?
有人能帮我吗? typescript是如何处理这个问题并帮助我们的呢?
提前谢谢。
发布于 2020-01-26 15:45:09
Document.getElementById
返回HTMLElement
类型的接口。如果此接口声明了您将在代码中使用的所有属性和方法,则不需要使用<>
强制转换它。
特定类型(如HTMLTextAreaElement
)具有未在任何基接口(或基类)中声明的特定属性和方法。为了能够在代码中寻址/使用它们,您需要在编译时转换它们(请参阅https://stackoverflow.com/a/35362350/2358409)。
发布于 2020-01-26 16:24:34
泛型的主要思想之一是拥有可重用的代码,这些代码可以在使用时归类到特定类型(根据提供的泛型类型参数)。这样,即使没有显式添加变量,TypeScript也会知道要为声明的变量推断什么类型。
https://stackoverflow.com/questions/59919075
复制相似问题