Typescript
文章平均质量分 65
秃头的科比
希望大家多关注 我会在以后的工作生活中不断的去完善文章中的不足之处
展开
-
Typescript——泛型的学习
泛型 认识泛型 软件工程的主要目的是构建不仅仅明确一致的API,还要让你的代码具有很强的可重用性:比如我们可以通过函数来封装一些API,通过传入不同的函数参数,让函数帮助我们完成不同的操作;但是对于参数的类型是否也可以参数化呢? 什么是类型的参数化? 我们来提一个需求:封装一个函数,传入一个参数,并且返回这个参数; 如果我们是TypeScript的思维方式,要考虑这个参数和返回值的类型需要一致: function add(num: number): number{ return num; } 上面的代原创 2021-09-05 12:14:54 · 138 阅读 · 0 评论 -
Typescript——接口的学习
接口的声明 声明对象类型的2种方式: (1)类型别名的方式:即通过type。 (2)接口的方式:即通过interface。 至于它们在使用上的区别,后续再进行说明。 接口中我们也可以定义可选属性、只读属性。 // 通过类型(type)别名来声明对象类型 // type InfoType = {name: string, age: number} // 另外一种方式声明对象类型: 接口interface // 在其中可以定义可选类型 // 也可以定义只读属性 interface IInfoType {原创 2021-09-05 00:34:25 · 148 阅读 · 0 评论 -
Typescript——函数类型的深入学习
函数类型 函数是JavaScript中非常重要的组成部分,typeScript也允许我们指定函数的参数和返回值的类型。 声明函数时,可以在每个参数后添加类型注解,用以声明函数接受的参数类型: function sum(num1: number, num2: number) { return num1 + num2 } sum(123, 321) 我们也可以为函数添加返回值的类型注解,这个注解出现在函数列表的后面: function sum(num1: number, num2: number):nu原创 2021-09-04 22:46:14 · 233 阅读 · 2 评论 -
Typescript——数据类型的深入学习
变量定义 声明了类型后typeScript就会进行类型检测,声明的类型称之为类型注解; 比如我们声明一个message变量,完整的写法如下: const message: string = "Hello World" 注意:这里的string是小写的,和String是有区别的,string是typeScript中定义的字符串类型,而String是ECMAScript中定义的一个类。如果我们给message赋值其他类型的值,那么就会报错。 在开发中,有时候为了方便起见我们并不会在声明每一个变量时都写上对应的原创 2021-07-25 20:51:37 · 194 阅读 · 0 评论 -
Typescript——简单介绍
前言 JavaScript因为从设计之初就没有考虑类型约束问题,所以造成了我们前端开发人员关于类型思维的缺失,前端开发人员通常不关心变量或者参数是什么类型的,如果当必须确定函数的参数类型时,我们往往需要使用各种判断验证;比如: (1)当我们去实现一个核心类库时,如果没有类型约束,那么需要对别人传入的参数进行各种验证来保证我们代码的健壮性; (2)当我们去调用别人的函数时,对方并没有对函数进行任何的注释,我们只能去看里面的逻辑来理解这个函数需要传入什么参数,返回值是什么类型; 为了弥补javaScript在类原创 2021-07-25 20:31:45 · 115 阅读 · 0 评论 -
Typescript——函数的重载
函数的重载 在TypeScript中,如果我们编写了一个add函数,希望可以对字符串和数字类型进行相加,我们可能会使用联合类型来编写,但是使用联合类型会有两个缺点: (1)需要进行很多的逻辑判断(即类型缩小) (2)返回值的类型依然不能确定。 function add(a1: number | string, a2: number | string) { if (typeof a1 === "number" && typeof a2 === "number") { return原创 2021-07-22 15:46:09 · 1502 阅读 · 1 评论 -
Typescript——类的使用
类的使用 在早期的JavaScript开发中(ES5)我们需要通过函数和原型链来实现类和继承,从ES6开始,引入了class关键字,可以更加方便的定义和使用类。 TypeScript作为JavaScript的超集,也是支持使用class关键字的,并且还可以对类的属性和方法等进行静态类型检测。实际上在JavaScript的开发过程中,我们更加习惯于函数式编程: (1)比如React开发中,目前更多使用的函数组件以及结合Hook的开发模式; (2)比如在Vue3开发中,目前也更加推崇使用 Composition原创 2021-07-22 15:38:23 · 231 阅读 · 1 评论