![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
TypeScript
文章平均质量分 90
从0开始学习TypeScript
学全栈的灌汤包
这个作者很懒,什么都没留下…
展开
-
【TypeScript】模块化和类型声明规则
什么情况下需要自己来定义声明文件呢?情况一:我们使用的第三方库是一个纯的JavaScript库,没有对应的声明文件;比如lodash情况二:我们给自己的代码中声明一些类型,方便在其他地方直接进行使用;例如我们创建一个my.d.ts文件, 可以在该文件中声明自定义的类型声明变量-函数-类例如index.html文件中有下面这些代码原创 2022-08-25 00:00:00 · 903 阅读 · 35 评论 -
【TypeScript】枚举类型和泛型的详细介绍
软件工程的主要目的是构建不仅仅明确和一致的API,还要让你的代码具有很强的可重用性:比如我们可以通过函数来封装一些API,通过传入不同的函数参数,让函数帮助我们完成不同的操作;但是对于参数的类型是否也可以参数化呢?什么是类型的参数化?我们来提一个需求:封装一个函数,传入一个参数,并且返回这个参数;如果我们是TypeScript的思维方式,要考虑这个参数和返回值的类型需要一致// 传入number类型, 返回number类型 function foo(arg : number) : number {...原创 2022-08-24 00:00:00 · 1059 阅读 · 40 评论 -
【TypeScript】中接口的详细介绍
在前面我们通过type可以用来声明一个对象类型:通过类型别名(type), 声明一个对象类型对象类型的另外一种声明方式, 就是通过接口来声明:通过接口, 声明一个对象类型使用接口定义时, 有一个规范, 接口名前面加上一个"I", 这个是规范, 遵不遵守看个人意愿// 接口名前面加上一个大写的I interface IInfoType {接口定义对象类型时, 同样可以定义可选类型, 使用方式和之前是一样的name : string // 添加可选类型 age?接口也可以定义只读属性, readonly。...原创 2022-08-23 00:00:00 · 1943 阅读 · 55 评论 -
【TypeScript】抽象类的使用 | 类的类型
抽象类是使用abstract声明的类;而抽象方法是使用abstract声明的方法,抽象方法必须存在于抽象类中, 抽象方法是没有方法体的;原创 2022-08-22 09:00:00 · 1199 阅读 · 33 评论 -
【TypeScript】类的基本使用
在早期的JavaScript开发中( ES5)我们需要通过函数和原型链来实现类和继承,从ES6开始,引入了class关键字,可以更加方便的定义和使用类。TypeScript作为JavaScript的超集,也是支持使用class关键字的,并且还可以对类的属性和方法等进行静态类型检测。实际上在JavaScript的开发过程中,我们更加习惯于函数式编程:比如React开发中,目前更多使用的函数组件以及结合Hook的开发模式;比如在Vue3开发中,目前也更加推崇使用 Composition API;...原创 2022-08-21 09:00:00 · 686 阅读 · 44 评论 -
【TypeScript】中的函数详解
在TypeScript中,如果我们编写了一个add函数,希望可以对字符串和数字类型进行相加,应该如何编写呢?我们可能会像上面这样来编写,但是其实是错误的, 编译阶段就会报错那么这个代码我们可以使用函数的重载编写函数的重载: 函数名称相同, 但是参数不同的几个函数, 就是函数重载参数不同: 参数的个数不同, 或者参数的类型不同, 都称为参数不同在TypeScript中,我们可以去编写不同的重载签名( overload signatures)来表示函数可以以不同的方式进行调用;...原创 2022-08-20 09:00:00 · 1512 阅读 · 32 评论 -
【TypeScript】的类型缩小
类型缩小的英文是 Type Narrowing;我们可以通过类似于。原创 2022-08-19 09:00:00 · 807 阅读 · 55 评论 -
【TypeScript】语法详解 - 类型操作的补充
可选链事实上并不是TypeScript独有的特性,它是中增加的特性:可选链使用可选链操作符?.;它的作用是当对象的属性不存在时,会短路表达式后面就不会执行,直接返回undefined,如果存在,那么才会继续执行;虽然可选链操作是ECMAScript提出的特性,但是和TypeScript一起使用更版本;例如我们定义如下一个对象: {当我们在其他地方获取对象的属性时, 意味着name属性是一定可以获取到的, 而friend属性有可能是获取不到的。...原创 2022-08-18 09:00:00 · 578 阅读 · 54 评论 -
【TypeScript】语法详解 - 类型操作
比如我们拿到的值可能是string或者number,如果拿到number, 我们就不能对其调用string上的一些方法, 反之同理;在前面,我们通过在类型注解中编写对象类型和联合类型,但是当我们想要多次在其他地方使用时,就要编写多次。这是因为TypeScript会根据forEach函数的类型以及数组的类型推断出item的类型;为函数的参数添加类型注解后, 若再传入其他类型的参数, 或者不穿参数, 多传参数都会编译报错。每个属性的类型部分也是可选的,如果不指定,那么就是any类型;......原创 2022-08-17 09:08:19 · 821 阅读 · 49 评论 -
【TypeScript】中定义变量方式 | 数据类型详解
我在前面强调过,在TypeScript中定义变量需要指定标识符的类型。所以完整的声明格式如下:声明了类型后TypeScript就会进行类型检测,声明的类型可以称之为类型注解;var/let/const 标识符: 数据类型 = 赋值;比如我们声明一个message,完整的写法如下:注意:这里的string的首字母是小写的,和String是有区别的string是TypeScript中定义的字符串类型, String是JavaScript的字符串包装类的类型。......原创 2022-08-16 09:00:00 · 3020 阅读 · 36 评论 -
【TypeScript】介绍和环境搭建的详细步骤
GitHub说法: TypeScript is a superset of JavaScript that compiles to clean JavaScript output.TypeScript官网: TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.这两个地方的意思是差不多的, 翻译过来: TypeScript是拥有类型的JavaScript超集, 它可以编译成普通、干净、完整。.......原创 2022-08-15 09:00:00 · 2819 阅读 · 35 评论 -
【TypeScript】出现的背景原因
而且如果我们是调用别人的类库,又如何知道别人让我们传入的到底是什么样的参数呢?比如我们去调用别人的函数,对方没有对函数进行任何的注释,我们只能去看里面的逻辑来理解这个函数需要传入什么参数,返回值是什么类型;比如当我们去实现一个核心类库时,如果没有类型约束,那么需要对别人传入的参数进行各种验证来保证我们代码的健壮性;当我们写像我们上面这样的简单的demo时,这样的错误很容易避免,并且当出现错误时,也很容易检查出来;能在开发阶段发现错误,就不要在测试期间发现错误,能在测试期间发现错误,就不要在上线后发现错误。.原创 2022-08-14 09:00:00 · 468 阅读 · 22 评论