一、初始化工程首先创建一个 gulp 构建的简单工程,具体的目录及说明如下:|-- dist/|-- src/ | -- main.ts|-- tscofnig.json|-- gulpf...
一、说明三斜线指令是包含单个 XML 标签的单行注释,注释的内容会作为编译器指令使用。三斜线指令仅可放在包含它的文件的最顶端,一个三斜线指令的前面只能出现单行或多行注释,这包括了其他的三斜线指令...
一、介绍除了传统的面向对象继承方式,还流行一种通过可重用组件创建类的方式,就是联合另一个简单类的代码。二、Mixins 示例下面代码演示了如何在 TypeScript 中使用 Mixins://...
一、说明TypeScript 和 ES6 都引入了 class,在一些场景下可能需要额外的特性来支持标注或者是修改及其成员。装饰器(Decorators)为我们在类的声明及成员上通过元编程语法添...
介绍TypeScript 支持内嵌,类型检查以及将 JSX 直接编译为 JavaScript 。一、基本用法如果要用 JSX 必须做两件事情:给文件一个 .tsx 扩展名启用 jsx 选项Typ...
一、介绍TypeScript 中有一些独特的概念可以在类型层面上描述 JavaScript 对象的模型,这其中尤为独特的一个例子是"声明合并"的概念。理解这个概念,有利于操作现有的 JavaSc...
一、说明模块解析 是指编译器在查找导入模块内容时所遵循的流程,如果有一个导入语句 import { a } from "moduleA",为了去检查任何对 a 的使用,编译器...
一、需求Mac OS 上有 zsh Terminal 对 git 的支持非常友好,能够实时知道自己处于哪个分支下在开发,日志信息等高亮支持也非常出色。目前转到 windows 上开发发现 pow...
关于术语的一点说明:TypeScript 1.5 术语名称已经发生了变化。“内部模块”现在称为“命名空间”,“外部模块” 现在则简称为 “模块”,这是为了与 ES6 的术语保持一致,也就是说 m...
命名的说明:在 TypeScript 1.5 里术语名称已经发生了变化。 “内部模块” 现在称作 “命名空间”,“外部模块”现在则简称为“模块”,这是为了和 ES6 的术语保持一致,也就是说 m...
参考文章:https://juejin.im/post/5c4f0590e51d45299a08d2bc一、需求写了一个库,并且没有进行 webpack 的编译,也就是没有处理 ES6 的代码,...
TypeScript 3.1 模块 Module(一)一、可选的模块加载和其它高级加载场景有的时候可能会需要在某种条件下再去加载某个模块,而在 TypeScript 中,可以做到这个需求。编译器...
关于名称的说明:TypeScript 1.5 中发生了变化,“内部模块” 现在成为 “命名空间”。“外部空间” 现在简称为 “模块”,与 ES6 保持一致,因此 module X{} 现在的推荐...
一、交叉类型 (Intersection Types)交叉类型是将多个类型合并为一个类型。这让我们 可以把现有的多种类型叠加到一起成为一种类型,它包含了所需要的所有类型的特性。比如:Person...
一、可迭代性如果一个对象实现了 Symbols.iterator 属性的时候,就可以因为这个对象是可迭代的。一些内置的类型如 Array、Map、Set、String、Ine32Array、Un...
一、说明TypeScript 的类型兼容都是基于结构子类型。结构类型是一种只使用其成员描述类型的方式。在基于名义(nominal)类型的类型系统中,数据类型的兼容性或等价性是通过明确的声明和/或...
symbold 从 ES6 开始成为新的原生类型,而 typescript 同样支持 symbol。 Symbol 与 Class 不同,TypeScript 并不会进行语法处理,只是编译成 S...
一、基础TypeScript 中没有明确指定类型的地方,类型推论会尝试给出类型,比如:const x = 3;此时,类型推论会发生在初始化变量和成员的时候、设置默认参数值和决定函数的返回值的时候...
一、数字枚举数字枚举最关键的特性是自增长属性enum Direction { Up, Right, Down, Left}如果不指定 enum 中的值,则会从 0 开始,...
一、泛型泛型在诸多高级语言中都存在,对于设计可充用的类或者组件都有非常大的作用。比如下面一个 add 函数,只能接受 number 的参数并且返回 number 类型,如果需要 string 类...