在上一节介绍了标记的解析,就相当于识别了一句话里有哪些词语,接下来就是把这些词语组成完整的句子,即拼装标记为语法树。 树(tree) 树是计算机数据结构里的专业术语。就像一个学校有很多年级,每个年级下面有很多班,每个班级下面有很多学生,这种组织结构就叫树。 组成树的每个部分称为节点(Node); 最 ...
分类:
其他好文 时间:
2020-01-28 15:57:39
阅读次数:
110
介绍 软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性。 组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型,这在创建大型系统时为你提供了十分灵活的功能。 在像C#和Java这样的语言中,可以使用泛型来创建可重用的组件,一个组件可以支持多种类型的数据。 这样用户就可以以 ...
分类:
其他好文 时间:
2020-01-28 12:40:42
阅读次数:
56
交叉类型(Intersection Types) 交叉类型是将多个类型合并为一个类型。 这让我们可以把现有的多种类型叠加到一起成为一种类型,它包含了所需的所有类型的特性。 例如,Person & Serializable & Loggable同时是Person和Serializable和Loggab ...
分类:
其他好文 时间:
2020-01-27 12:22:58
阅读次数:
88
deno 实际上也是一个typescript 的runtime,而且代码也是基于 ts 开发,目前社区也有了支持基于vscode 插件(新版本语法支持不好0.31.0) vscode 插件安装 代码提示效果 不支持的语法,相关issue https://github.com/denoland/den ...
分类:
其他好文 时间:
2020-01-26 22:18:17
阅读次数:
92
介绍 TypeScript中有些独特的概念可以在类型层面上描述JavaScript对象的模型。 这其中尤其独特的一个例子是“声明合并”的概念。 理解了这个概念,将有助于操作现有的JavaScript代码。 同时,也会有助于理解更多高级抽象的概念。 对本文件来讲,“声明合并”是指编译器将针对同一个名字 ...
分类:
其他好文 时间:
2020-01-26 11:54:00
阅读次数:
83
1. 封装分片上传组件,优化问题 2. 封装编辑树的组件 标准的npm组件,能够让别人用 3. 阅读immer源码,做详细分析 4. 分享 react fiber , react hook 5. typeScript 深入 6. 数据结构加强,算法刷题,总结,提高编码能力 总结:多实践,多分享,多输 ...
分类:
其他好文 时间:
2020-01-23 22:57:17
阅读次数:
153
介绍 TypeScript的核心原则之一是对值所具有的结构进行类型检查。 它有时被称做“鸭式辨型法”或“结构性子类型化”。 在TypeScript里,接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约。 接口初探 下面通过一个简单示例来观察接口是如何工作的: function printL ...
分类:
其他好文 时间:
2020-01-23 10:59:41
阅读次数:
84
什么是工具类型 用 JavaScript 编写中大型程序是离不开 工具的,而用 TypeScript 编程同样离不开工具类型的帮助,工具类型就是类型版的 。简单的来说,就是把已有的类型经过类型转换构造一个新的类型。工具类型本身也是类型,得益于泛型的帮助,使其能够对类型进行抽象的处理。工具类型主要目的 ...
分类:
其他好文 时间:
2020-01-22 23:48:20
阅读次数:
77
介绍 为了让程序有价值,我们需要能够处理最简单的数据单元:数字,字符串,结构体,布尔值等。 TypeScript支持与JavaScript几乎相同的数据类型,此外还提供了实用的枚举类型方便我们使用。 布尔值 最基本的数据类型就是简单的true/false值,在JavaScript和TypeScrip ...
分类:
其他好文 时间:
2020-01-22 13:05:55
阅读次数:
51
使用npm 安装相应的模块 webpack 4 需要安装 webpack、webpack-cli 和 typescript 等必要的模块。为了使用 webpack 处理 typescript,还需要 ts-loader。在VSCode的终端输入以下命令 1、初始化项目: npm init 回答一系列 ...
分类:
Web程序 时间:
2020-01-22 12:47:39
阅读次数:
107