接口类型概述 和 number, string, boolean, enum 这些数据类型一样 接口也是一种类型, 也是用来约束使用者的 先来看看如果没有使用接口之前的弊端,如我现在有一个需求要求定义一个函数输出一个人完整的姓名, 这个人的姓必须是字符串, 这个人的名也必须是一个字符串: let o
原创
2021-11-27 13:51:00
210阅读
TS 中的接口和 JS 中的类一样是可以继承的 interface LengthInterface { length: number } interface WidthInterface { width: number } interface HeightInterface { height: nu
原创
2021-11-28 03:17:00
548阅读
当我们定义了多个同名的接口时, 多个接口的内容会自动进行合并 interface TestInterface { name: string; } interface TestInterface { age: number; } 如上的代码内部自动会处理为如下形式: interface TestInt
原创
2021-11-28 23:46:00
255阅读
类实现接口 只要实现的某一个接口, 那么就必须实现接口中所有的属性和方法 错误示例: interface PersonInterface { name: string; say(): void; } class Person implements PersonInterface { name: st
原创
2021-11-28 23:24:00
208阅读
函数接口 我们除了可以通过接口来限定对象以外, 我们还可以使用接口来限定函数 interface SumInterface { (a: number, b: number): number } let sum: SumInterface = function (x: number, y: numbe
原创
2021-11-28 03:12:00
659阅读
对象混入 通过 Object.assign 方法进行混入 let obj1 = {name: 'BNTang'}; let obj2 = {age: 34}; Object.assign(obj1, obj2); console.log(obj1); console.log(obj2); 类混入 博
原创
2021-12-06 22:39:00
95阅读
声明概述 在企业开发中我们不可避免的就是需要引用第三方的 JS 的库 但是默认情况下 TS 是不认识我们引入的这些 JS 库的 所以在使用这些 JS 库的时候, 我们就要告诉 TS 它是什么, 它怎么用 那么该如何告诉 TS 呢,那就是通过 声明 来告诉 TS。假如我在 index.html 当中导
原创
2021-12-07 11:21:00
51阅读
TS 中的函数大部分和 JS 相同 JS 当中的写法 命名函数 function say(name) { console.log(name); } 匿名函数 let say = function (name) { console.log(name); } 箭头函数 let say = (name)
原创
2021-11-28 03:24:00
63阅读
TS 中的类和 ES6 中的类 几乎 一样 阅读本章节之前建议先阅读一下以下的文章: 66-JavaScript-ES6类和对象 67-JavaScript-ES6继承 TS 中的类 和 ES6 的区别, 需要先定义实例属性, 才能够使用实例属性 class Person { // 实例属性 nam
原创
2021-11-28 22:29:00
70阅读
TypeScript泛型什么是泛型软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性。 组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型,这在创建大型系统时为你提供了十分灵活的功能。
使用泛型来创建可重用的组件,一个组件可以支持多种类型的数据。 这样用户就可以以自己的数据类型来使用组件。平时我们是对 **值 **进行编程,泛型是对 类型 进行编程,用来限定值和对值的操
转载
2021-01-29 21:00:51
143阅读
2评论
类型断言概述 TS 中的类型断言和其它编程语言的 类型转换 很像,可以将一种类型强制转换成另外一种类型 类型断言就是告诉编译器, 你不要帮我们检查了, 相信我,我知道自己在干什么 例如:我们拿到了一个 any 类型的变量,但是我们明确的知道这个变量中保存的是 字符串 类型,此时我们就可以通过类型断言
原创
2021-11-27 13:28:00
198阅读
在经过介绍了 TypeScript-声明文件 之后,本篇文章主要介绍的内容就是声明的安装,其实在编写声明文件的时候又分为好几种,如果你导入的第三方的某个库是一个全局的库的话,那么什么叫全局的库呢,就是这个库当中的所有功能都是绑定到一个全局对象上的这种就称之为全局的库,这种时候就可以参照 TS 官方提
原创
2021-12-07 15:06:00
178阅读
泛型概述 在编写代码的时候我们既要考虑代码的 健壮性, 又要考虑代码的 灵活性 和 可重用性 通过 TS 的静态检测能让我们编写的代码变得更加 健壮, 但是在变得健壮的同时却丢失了 灵活性 和 可重用性 所以为了解决这个问题 TS 推出了 泛型 的概念 通过 泛型 不仅可以让我们的代码变得更加 健壮
原创
2021-11-28 13:21:00
131阅读
在 ts 当中接口和命名空间是可以重名的, ts 会将多个同名的合并为一个 接口 interface TestInterface { name: string; } interface TestInterface { age: number; } class Person implements Te
原创
2021-12-05 21:14:00
426阅读
TypeScript 支持与 JavaScript 几乎相同的数据类型,此外还提供了实用的 枚举类型 方便我们使用 数值类型 let val: number; val = 123; console.log(val); 如上代码的含义定义了一个名称叫做 val 的变量, 这个变量中将来只能存储数值类型
原创
2021-11-23 23:55:00
95阅读
枚举类型是 TS 为 JS 扩展的一种类型,在原生的 JS 中是没有枚举类型的,枚举用于表示固定的几个取值 例如:一年只有四季、人的性别只能是男或者女 定义枚举 enum Gender { Male, Female } 如上代码的含义为,定义了一个名称叫做 Gender 的枚举类型, 这个枚举类型的
原创
2021-11-24 23:21:00
120阅读
1.变量赋值了类型
原创
2022-09-29 14:37:41
105阅读
命名空间概述 命名空间可以看做是一个微型模块 当我们想把相关的业务代码写在一起, 又不想污染全局空间的时候, 我们就可以使用 命名空间 本质就是定义一个大对象, 把变量/方法/类/接口 ... 等,都放里面 命名空间和模块区别 在程序内部使用的代码, 可以使用命名空间封装和防止全局污染 在程序内部外
原创
2021-12-05 20:50:00
118阅读
装饰器概述 Decorator 是 ES7 的一个新语法,目前仍处于 提案中 装饰器是一种特殊类型的声明,它能够被附加到类,方法, 访问器,属性或参数上 被添加到不同地方的装饰器有不同的名称和特点: 附加到类上, 类装饰器 附加到方法上, 方法装饰器 附加到访问器上, 访问器装饰器 附加到属性上,
原创
2021-12-05 21:58:00
142阅读
映射类型概述 根据 旧 的类型创建出 新 的类型, 我们称之为映射类型 假如如下的 TestInterface1 是旧的类型: interface TestInterface1 { name: string, age: number } 那么这个时候根据 TestInterface1 创建出来的新的
原创
2021-12-05 10:51:00
151阅读