TypeScript
文章平均质量分 93
TypeScript
吉帅振的网络日志
前端开发
展开
-
【TypeScript】掌握 TypeScript 这些官方工具类型
在 TypeScript 中提供了许多自带的工具类型,因为这些类型都是全局可用的,所以无须导入即可直接使用。了解了基础的工具类型后,我们不仅知道 TypeScript 如何利用前几讲介绍的基础类型知识实现这些工具类型,还知道如何更好地利用这些基础类型,以免重复造轮子,并能通过这些工具类型实现更复杂的类型。学习操作接口类型、联合类型、函数、字符串的工具类。掌握类型操作的技巧,自由地组合更多的工具类型。原创 2022-08-20 10:37:06 · 689 阅读 · 2 评论 -
【TypeScript】增强类型系统的必备方式
在 TypeScript 中预留了一个增强类型的口子,使得我们可以方便地扩展原来的类型系统,以兼容 JavaScript 的代码。增强类型系统,顾名思义就是对 TypeScript 类型系统的增强。在 npm 中,有很多历史悠久的库都是使用 JavaScript 编写的,而 TypeScript 作为 JavaScript 的超集,设计目标之一就是能在 TypeScript 中安全、方便地使用 JavaScript 库。原创 2022-08-19 12:05:17 · 542 阅读 · 0 评论 -
【TypeScript】类型兼容:如何判断一个类型是否可以赋值给其他类型?
TypeScript 中类型的兼容性都是基于结构化子类型的一般原则进行判定的。类型兼容性决定了赋值操作是否可以通过类型检测。原创 2022-08-18 17:10:17 · 562 阅读 · 0 评论 -
【TypeScript】类型守卫:如何有效地保障类型的安全性?
JavaScript 作为一种动态语言,意味着其中的参数、值可以是多态(多种类型)。因此,我们需要区别对待每一种状态,以此确保对参数、值的操作合法。举一个常见的场景为例,如下我们定义了一个可以接收字符串或者字符串数组的参数 toUpperCase,并将参数转成大写格式输出的函数 convertToUpperCase。{}}}...原创 2022-08-17 16:02:37 · 316 阅读 · 0 评论 -
【TypeScript】泛型:如何正确使用泛型约束类型变量?
关于什么是泛型这个问题不是太好回答,比如在面试中,如果有候选人反过来问我这个问题,可能我也给不出一个特别标准的答案。不过,我们可以借用 Java 中泛型的释义来回答这个问题:泛型指的是类型参数化,即将原来某种具体的类型进行参数化。和定义函数参数一样,我们可以给泛型定义若干个类型参数,并在调用时给泛型传入明确的类型参数。设计泛型的目的在于有效约束类型成员之间的关系,比如函数参数和返回值、类或者接口成员和方法之间的关系。这一讲关于泛型的知识点看起来不是太多,不过难点在于如何理解泛型。...原创 2022-08-15 11:58:45 · 291 阅读 · 0 评论 -
【TypeScript】枚举类型:详解常见枚举类型的 7 种用法
在 JavaScript 原生语言中并没有与枚举匹配的概念,而 TypeScript 中实现了枚举类型(Enums),这就意味着枚举也是 TypeScript 特有的语法(相对于 JavaScript)。在 TypeScript 中,我们可以使用枚举定义包含被命名的常量的集合,比如 TypeScript 支持数字、字符两种常量值的枚举类型。我们也可以使用 enum 关键字定义枚举类型,格式是 enum + 枚举名字 + 一对花括弧,花括弧里则是被命名了的常量成员。...原创 2022-08-12 10:58:29 · 2238 阅读 · 0 评论 -
【TypeScript】高级类型:如何快速读懂联合类型和交叉类型的含义?
我们介绍了基础类型、字面量类型、函数类型及接口类型等内容,它们都是单一、原子的类型元素。实际编程场景的示例所示,我们还需要通过组合/结合单一、原子类型构造更复杂的类型,以此描述更复杂的数据和结构——联合和交叉类型(Unions and Intersection Types)。联合和交叉类型赋予了 TypeScript 类型最基本的“编程”(运算)能力,学习和掌握联合和交叉类型后,可以培养我们抽离、复用公共类型的意识和能力。...原创 2022-08-11 15:46:35 · 263 阅读 · 0 评论 -
【TypeScript】接口类型与类型别名:这两者的用法与区别分别是什么?
TypeScript 不仅能帮助前端改变思维方式,还能强化面向接口编程的思维和能力,而这正是得益于 Interface 接口类型。通过接口类型,我们可以清晰地定义模块内、跨模块、跨项目代码的通信规则。TypeScript 对对象的类型检测遵循一种被称之为“鸭子类型”(duck typing)或者“结构化类型(structural subtyping)”的准则,即只要两个对象的结构一致,属性和方法的类型一致,则它们的类型就是一致的。...原创 2022-08-10 10:35:26 · 445 阅读 · 0 评论 -
【TypeScript】类类型:如何高效使用类型化的面向对象编程利器?
在JavaScript(ES5)中仅支持通过函数和原型链继承模拟类的实现(用于抽象业务模型、组织数据结构并创建可重用组件),自 ES6 引入 class 关键字后,它才开始支持使用与Java类似的语法定义声明类。TypeScript 作为 JavaScript 的超集,自然也支持 class 的全部特性,并且还可以对类的属性、方法等进行静态类型检测。在 TypeScript 中,因为我们需要实践 OOP 编程思想,所以离不开类的支撑。在实际工作中,类与函数一样,都是极其有用的抽象、封装利器。...原创 2022-08-09 11:03:26 · 323 阅读 · 0 评论 -
【TypeScript】函数类型:返回值类型和参数类型到底如何定义?
在 JavaScript 中,函数是构建应用的一块基石,我们可以使用函数抽离可复用的逻辑、抽象模型、封装过程。在 TypeScript 中,虽然有类、命名空间、模块,但是函数同样是最基本、最重要的元素之一。我们还可以显式指定函数参数和返回值的类型,示例如下。}函数是 JavaScript 和 TypeScript 中极其重要的基础部分,无论是面向过程,还是面向对象编程,都离不开函数的抽象、封装。...原创 2022-08-08 10:38:33 · 976 阅读 · 0 评论 -
【TypeScript】什么是字面量类型、类型推断、类型拓宽和类型缩小?
}{}在示例中,使用 let 定义变量时,我们写明类型注解也就罢了,毕竟值可能会被改变。可是,使用 const 常量时还需要写明类型注解,那可真的很麻烦。实际上,TypeScript 早就考虑到了这么简单而明显的问题。在很多情况下,TypeScript 会根据上下文环境自动推断出变量的类型,无须我们再写明类型注解。{// 等价// 等价// 等价}{// 不等价// 不等价// 不等价}...原创 2022-08-05 12:10:04 · 193 阅读 · 0 评论 -
【TypeScript】TypeScript 与 JavaScript 有何不同?
TypeScript 其实就是类型化的 JavaScript,它不仅支持 JavaScript 的所有特性,还在 JavaScript 的基础上添加了静态类型注解扩展。从某种意义上来说,TypeScript 其实就是 JavaScript 的超集。在 TypeScript 中,我们不仅可以轻易复用 JavaScript 的代码、最新特性,还能使用可选的静态类型进行检查报错,使得编写的代码更健壮、更易于维护。......原创 2022-08-04 10:38:19 · 382 阅读 · 0 评论 -
【TypeScript】为什么要选择 TypeScript?
TypeScript 与 JavaScript 本质并无区别,你可以将 TypeScipt 理解为是一个添加了类型注解的 JavaScript,比如 const num = 1,它同时符合 TypeScript 和 JavaScript 的语法。此外,TypeScript 是一门中间语言,最终它还需要转译为纯 JavaScript,再交给各种终端解释、执行。...原创 2022-08-03 09:52:26 · 203 阅读 · 0 评论 -
TypeScript入门篇——基础知识(快速了解js与ts差异)
写在前面本篇文章是我初学typescript的笔记,希望可以为看到的朋友提供帮助。推荐视频:https://www.bilibili.com/video/av38379328/?p=14&t=522一、数据类型ts必须指定数据类型(给人理解将数据类型分成3种) 1.js有的类型boolean类型、number类型、string类型、array类型、undefined、null...原创 2019-04-28 17:37:11 · 41364 阅读 · 3 评论