类型体操基本功-简单四则运算
很多类型推导的场景下需要涉及到数字的计算,这篇文章就介绍下常规四则运算的实现思路。
很多类型推导的场景下需要涉及到数字的计算,这篇文章就介绍下常规四则运算的实现思路。
Typescript中判断相等或者是否属于某个类型的子类型的场景通常会用到extends,但在某些场景下,仅仅使用extends是不够的。这篇文章就借着之前遇到的一个案例简单拓展介绍一下。
最近中国Leetcode在招人,在网上公布了一套面试题,题型都很有水准,也比较有代表性。这篇文章就选取其中的TypeScript类型题分析一下解题需要运用的一些非常实用的TS进阶技巧。
在Typescript的开发中,除了针对具体业务数据定义一些泛型外,大多数情况下也会封装一些通用的泛型以供更具体的类型定义中复用,这一类泛型定义我称之为工具泛型。实际上Typescript中已经原生提供了一系列好用的工具泛型,就在这里做一个整理。
我们知道ts最关键的功能在于静态类型检查,其代码最终都会被编译成js,那么对于本身就是js的文件该如何启用静态类型检查呢?这就是声明文件的作用了,其目的就在于告诉ts编译器引用文件的类型信息。
曾经在TypeScript中,命名空间叫做内部模块,模块叫做外部模块,说明两者存在着不少相似之处。那么这两者组织代码结构的方法在使用场景上有何区别和联系呢?
在TypeScript的基础类型之上还实现了一些较为复杂的些高级类型,平时开发中可能用的不多,但面对特定场景会有很好的效果,有必要一一了解。
在一些场景下我们需要额外的特性来支持标注或修改类及其成员,如同设计模式中的装饰者模式,这就是Typescript中的装饰器。
和Java等基于名义类型的语言不同,TypeScript是基于结构子类型的语言。其数据类型的兼容性并不是通过明确声明类型名称来决定的,而是只使用其成员描述类型。就像鸭子类型的例子一样,不要求生来就是鸭子,只要会鸭子叫就是鸭子。