TypeScript
文章平均质量分 75
葡萄糖o_o
一个热爱前端技术的群众。
展开
-
TypeScript类型推论(Type Inference)
要完全理解类型推论需要完整理解类型上下文,并且理解TS对于是否可以使用类型推论是基于静态分析完成的。上下文类型应用在许多地方。常见的例子包括函数调用的参数,赋值的右手端位置,类型断言,对象和数组的成员,和返回语句。上下文类型还充当最佳公共类型中的候选类型。TS中需要为每个JS名字规定类型,而名字出现在对应的上下文中则会自动获得类型,若没有对应的上下文,这个名字则会自动获得类型any。名字:通过声明语句声明的名字,例如var、let、const、function a() {}、class A {}、i原创 2021-07-03 20:05:01 · 620 阅读 · 3 评论 -
TypeScript 交叉类型(intersection type)
在TS中和联合类型(union type)对应的还有交叉类型(intersection type)。交叉类型的出现主要为了组合多个对象类型(object type),因为相对于interface,object type没法继承,那么就可以通过union type来实现混合的目的,从而实现继承的功能。type objtype1 = {a: string}type objtype2 = {b: string}type objtype = objtype1 & objtype2function原创 2021-06-19 14:00:52 · 3168 阅读 · 0 评论 -
TypeScript 联合类型(union type)
TS是JS的超集,在JS的基础上添加了一套类型系统,这样的TS可以被静态分析带来的好处显而易见。let val: string = 'val';声明一个string类型的变量val。let val: string = 'val';val = 1; // Type 'number' is not assignable to type 'string'.因为number类型和string类型并不兼容,在string类型值出现的地方并不能使用number类型指完成替换,所以在TS世界中给string原创 2021-06-19 12:48:37 · 3691 阅读 · 0 评论 -
TypeScript中的class声明了什么
在初看TypeScript的时候在这里卡住的时间难以估计,并不能很好的理解”换个角度说,我们可以认为类具有 实例部分与 静态部分这两个部分。“这句话。今天再回头看这部分文档,在同事的帮助下突然有了比较通透的理解。class Greeter { static standardGreeting = "Hello, there"; greeting: string; greet() { if (this.greeting) {原创 2020-10-28 20:13:59 · 515 阅读 · 0 评论 -
TS引用JS模块
TypeScript是JavaScript的超集TypeScript会进类型检查,什么鬼?JS没有这个东西使用TS进行开发也可以使用当前丰富的JS库,很多JS库有写好的TS声明文件,但是如果是我们自己写的JS库想要在TS中使用就需要我们自己去编写声明文件(.d.ts文件),怎么写?这就是极具个人经验主义的本文要解释的问题,如有谬误感谢指正。本文主要是对此刻所得的整理。下面示例基于w...原创 2018-06-06 15:59:09 · 61912 阅读 · 8 评论 -
TypeScript中怎么用接口(interface)描述类(静态部分与实例部分)
TypeScript是JavaScript的超集在看TypeScript官方文档的接口一节的时候对于类的静态部分与实例部分产生了疑问,通过努力得到自认为相对合理的解释,写下此文以记所得,如有谬误感谢指正。文中大部分代码示例来自TypeScript官网TS中的接口我的理解中TS中的接口就是描述一个对象中应该有那些属性,这些属性对应值得类型,有哪些方法,这些方法的参数和返回值等信息...原创 2018-06-07 16:02:34 · 11738 阅读 · 1 评论