Typescript的学习
weixin_49203377
这个作者很懒,什么都没留下…
展开
-
ts中使用三方库时遇到的问题
背景:当使用第三方库的时候,很多第三方库不是通过ts写的,而是使用原生的js或者浏览器或者是nodejs提供好的对象,直接使用的话,ts会报错1.比如在ts中使用jq库,一种常见的方式是在html中通过script标签引进,然后就可以全局使用,通常这么来获取元素但是ts并不知道$或者jquery是什么样的东西,所以会报错,这时候我们可以使用declaer关键词来告诉ts这个变量在其他地方已经被定义了,可以直接拿来用通常这种声名语句会放在一个单独的声名文件中,这个文件以.d.ts结尾的d就代表声名的意原创 2021-06-09 11:47:04 · 1429 阅读 · 0 评论 -
类型别名、字面量和交叉类型
可以使用type关键字简化写法这里只是演示,只声明了类型,并没有实现,假如在js中运行,是会报错的,类型别名支持各种写法,所以在多处使用的类型,都可以使用类型别名来抽象管理。比如一个类型可以是一个类型也可以是一个字符串也可以是一个数字2.字面量:是一个特殊的类型,这个类型只能是一个原始数据类型所以上面的name2会报错字面量的用处:在枚举中,经常会遇到一些常量值,字面量是一种简单的方法来处理一种情形,下面的Directions有四个方向,下面的towWhere会把这四种类型限定在里面。其.原创 2021-06-07 17:06:04 · 154 阅读 · 0 评论 -
泛型在类和接口中的使用
1.泛型在类中的使用上面图片中,放进去一个string类型,但是我们调用了只有数字类型才有的方法,所以ts没有抓到这个错误,假定只有number类型的数据才能被添加到队列里,解决办法之一:添加的时候添加一个约束但是这样写每次都需要修改,我们想要一种方法是无论什么类型被推入队列,被推出的类型是一样的,可以创作一个泛型类来解决2.泛型在接口中的使用泛型解决了TS世界的什么问题:1.创建一个拥有特定类型的容器,彷佛给一个容器贴上标签,告诉希望是一个什么类型的,也像一个可变的参数一样,在用的时候传原创 2021-06-07 15:16:26 · 185 阅读 · 0 评论 -
TS学习之--泛型
1.泛型是指在定义函数,接口或类的时候,不预先指定具体的类型,而是在使用的时候再指定类型泛型也可以传入多个值泛型就像一个占位符或者变量,使用的时候,可以把定义好的类型像参数一样传入,然后可以原封不变的输出...原创 2021-06-07 14:08:36 · 246 阅读 · 0 评论 -
Ts学习之---枚举
常量:在执行程序中不会被改变的值,在js中一般使用const来声名一个常量,但是有些取值是在一定范围内的一系列常量,比如一周内的7天,三原色,等等,这些值就可以用枚举来表示1.数字枚举:枚举成员会被赋值从0开始自动递增的数字!也可以给枚举项来手动的赋值,被手动赋值的枚举项会接着上一个递增是怎样做到双向赋值的呢,如下图2.字符串枚举3.常量枚举(使用常量枚举可以提升性能)在enum前面加const 就会成为一个常量枚举编译一下,打开编译好的文件可以看到,文件非常简单,逻辑少了许多原创 2021-06-07 11:22:54 · 148 阅读 · 0 评论 -
类和接口的关系
1.接口的另一个用途:对类的一部分行为形成抽象,在面向对象中,一个类只能继承自另外一个类,有时候不同类之间有一些共同的特性,使用子类继承父类的方法很难来完成,这时候可以把这些特性提取出成接口,用implements关键字来实现,这样就大大提高了面向对象的灵活性2.接口之间还可以有继承的关系...原创 2021-05-26 14:43:00 · 145 阅读 · 0 评论 -
Typescript中的类
Typescrit中可以使用三种访问修饰符,为类上的属性和方法提供权限管理1.Public:修饰的属性或方法是公有的,任何地方被调用,默认使用的属性方法都是public2.Private:修饰的属性或方法是私有的,不能再声明它的类的外部调用,子类中不能访问3.Protectd:修饰的属性或方法是受保护的,在子类中也可以访问4.readonly只读属性...原创 2021-05-26 14:19:02 · 61 阅读 · 0 评论 -
Typescript中的类型推论 联合类型和类型断言
1.背景:把一个变量赋值给一个函数的时候,这个变量就自动获得了一个类型2.类型推论(type inference)原则:变量在赋值的过程中,typescript会在没有明确指出类型的时候推断出这个变量应该是什么类型的3.联合类型(union types)当typescript不确定一个联合类型的变量到底是哪个类型的时候,只能访问此联合类型所有类型共有的属性和方法4.类型断言(type assertion):有时候确实在不确定类型的时候,要访问其中一个类型的属性或者方法(使用as关键字)原创 2021-05-26 11:11:25 · 377 阅读 · 0 评论 -
Typescript中的Function函数
1.在JS中,函数是一等公民,意思是函数和其他类型的对象一样,可以作为参数,可以存入数组,可以被另外一个函数返回,可以被赋值给另外一个变量,函数是由两部分构成的:一部分是输入,一般是通过不同的参数传参来实现,另外一部分是输出就是指函数的返回结果2.javascript中的函数除了这种声名的写法外,还有一种称为函数的表达式,一个函数不仅输入输出返回有类型,它的本身也有类型 不能声名其他的类型,需要声名一个完全一样的类型,在typescript中要这么写一个函数的类型3.interface也可以原创 2021-05-25 11:37:07 · 1177 阅读 · 1 评论 -
typescript中的Interface接口类型
主要功能:1.对对象的形状进行描述(在ts中只用来做类型的静态检查)定义的变量比接口少属性或者多属性都是不可以的,赋值的时候,变量的形状必须和接口的形状保持一致2.如果不想完全匹配一个接口,可以使用可选属性(该属性可存在可不存在)3.只读属性,如果希望对象中的一些字段只能在创建的时候被赋值,可以使用readonly关键字4.readonly和const的区别:readonly是用在属性上的,const是用在变量上的...原创 2021-05-24 16:52:29 · 146 阅读 · 0 评论 -
typescript中的数组和元组
如何定义数组类型1.let arrofNumbers:number[ ] 意思为:数字类型的数组,数组中的每一项都是数字,不允许出现其他类型,若出现其他类型就会报错2.ts中 可以直接获取数组上的方法3.数组的一些方法和参数也会根据数组约定的类型来进行限制,比如我们push 数字3是没有问题的如果push字符串就会报错4.数组将同一类型的数据聚合到了一起,如果想加入不同类型的数据怎么办呢?这时候可以用元组来帮忙了,合并了不同类型的一个数组,元组起源于函数式编程,元组的表示和数组非常类似,只原创 2021-05-24 16:28:35 · 266 阅读 · 0 评论