摘要:
TypeScript 2.3以后的版本支持使用--checkJs对.js文件进行类型检查和错误提示。 你可以通过添加// @ts-nocheck注释来忽略类型检查;相反,你可以通过去掉--checkJs设置并添加一个// @ts-check注释来选则检查某些.js文件。 你还可以使用// @ts-i 阅读全文
posted @ 2021-01-20 15:22
神秘杰尼龟
阅读(407)
评论(0)
推荐(0)
摘要:
三斜线指令是包含单个XML标签的单行注释。 注释的内容会做为编译器指令使用。 三斜线指令仅可放在包含它的文件的最顶端。 一个三斜线指令的前面只能出现单行或多行注释,这包括其它的三斜线指令。 如果它们出现在一个语句或声明之后,那么它们会被当做普通的单行注释,并且不具有特殊的涵义。 /// <refer 阅读全文
posted @ 2021-01-20 15:20
神秘杰尼龟
阅读(172)
评论(0)
推荐(0)
摘要:
介绍 除了传统的面向对象继承方式,还流行一种通过可重用组件创建类的方式,就是联合另一个简单类的代码。 你可能在Scala等语言里对mixins及其特性已经很熟悉了,但它在JavaScript中也是很流行的。 混入示例 下面的代码演示了如何在TypeScript里使用混入。 后面我们还会解释这段代码是 阅读全文
posted @ 2021-01-20 15:13
神秘杰尼龟
阅读(105)
评论(0)
推荐(0)
摘要:
介绍 随着TypeScript和ES6里引入了类,在一些场景下我们需要额外的特性来支持标注或修改类及其成员。 装饰器(Decorators)为我们在类的声明及成员上通过元编程语法添加标注提供了一种方式。 Javascript里的装饰器目前处在 建议征集的第二阶段,但在TypeScript里已做为一项 阅读全文
posted @ 2021-01-20 15:09
神秘杰尼龟
阅读(150)
评论(0)
推荐(0)
摘要:
介绍 JSX是一种嵌入式的类似XML的语法。 它可以被转换成合法的JavaScript,尽管转换的语义是依据不同的实现而定的。 JSX因React框架而流行,但也存在其它的实现。 TypeScript支持内嵌,类型检查以及将JSX直接编译为JavaScript。 基本用法 想要使用JSX必须做两件事 阅读全文
posted @ 2021-01-20 15:00
神秘杰尼龟
阅读(677)
评论(0)
推荐(0)
摘要:
介绍 TypeScript中有些独特的概念可以在类型层面上描述JavaScript对象的模型。 这其中尤其独特的一个例子是“声明合并”的概念。 理解了这个概念,将有助于操作现有的JavaScript代码。 同时,也会有助于理解更多高级抽象的概念。 对本文件来讲,“声明合并”是指编译器将针对同一个名字 阅读全文
posted @ 2021-01-20 14:58
神秘杰尼龟
阅读(69)
评论(0)
推荐(0)
摘要:
模块解析是指编译器在查找导入模块内容时所遵循的流程。假设有一个导入语句 import { a } from "moduleA"; 为了去检查任何对 a的使用,编译器需要准确的知道它表示什么,并且需要检查它的定义moduleA。 这时候,编译器会有个疑问“moduleA的结构是怎样的?” 这听上去很简 阅读全文
posted @ 2021-01-20 14:57
神秘杰尼龟
阅读(127)
评论(0)
推荐(0)
摘要:
关于术语的一点说明: 请务必注意一点,TypeScript 1.5里术语名已经发生了变化。 “内部模块”现在称做“命名空间”。 “外部模块”现在则简称为“模块”,这是为了与 ECMAScript 2015里的术语保持一致,(也就是说 module X { 相当于现在推荐的写法 namespace X 阅读全文
posted @ 2021-01-20 14:55
神秘杰尼龟
阅读(104)
评论(0)
推荐(0)
摘要:
关于术语的一点说明: 请务必注意一点,TypeScript 1.5里术语名已经发生了变化。 “内部模块”现在称做“命名空间”。 “外部模块”现在则简称为“模块”,这是为了与 ECMAScript 2015里的术语保持一致,(也就是说 module X { 相当于现在推荐的写法 namespace X 阅读全文
posted @ 2021-01-20 14:48
神秘杰尼龟
阅读(115)
评论(0)
推荐(0)
摘要:
关于术语的一点说明: 请务必注意一点,TypeScript 1.5里术语名已经发生了变化。 “内部模块”现在称做“命名空间”。 “外部模块”现在则简称为“模块”,这是为了与 ECMAScript 2015里的术语保持一致,(也就是说 module X { 相当于现在推荐的写法 namespace X 阅读全文
posted @ 2021-01-20 14:41
神秘杰尼龟
阅读(97)
评论(0)
推荐(0)
摘要:
可迭代性 当一个对象实现了Symbol.iterator属性时,我们认为它是可迭代的。 一些内置的类型如 Array,Map,Set,String,Int32Array,Uint32Array等都已经实现了各自的Symbol.iterator。 对象上的 Symbol.iterator函数负责返回供 阅读全文
posted @ 2021-01-20 14:38
神秘杰尼龟
阅读(94)
评论(0)
推荐(0)
摘要:
介绍 自ECMAScript 2015起,symbol成为了一种新的原生类型,就像number和string一样。 symbol类型的值是通过Symbol构造函数创建的。 let sym1 = Symbol(); let sym2 = Symbol("key"); // 可选的字符串key Symb 阅读全文
posted @ 2021-01-20 14:36
神秘杰尼龟
阅读(149)
评论(0)
推荐(0)
摘要:
交叉类型(Intersection Types) 交叉类型是将多个类型合并为一个类型。 这让我们可以把现有的多种类型叠加到一起成为一种类型,它包含了所需的所有类型的特性。 例如, Person & Serializable & Loggable同时是 Person 和 Serializable 和 阅读全文
posted @ 2021-01-20 14:31
神秘杰尼龟
阅读(63)
评论(0)
推荐(0)
摘要:
介绍 TypeScript里的类型兼容性是基于结构子类型的。 结构类型是一种只使用其成员来描述类型的方式。 它正好与名义(nominal)类型形成对比。(译者注:在基于名义类型的类型系统中,数据类型的兼容性或等价性是通过明确的声明和/或类型的名称来决定的。这与结构性类型系统不同,它是基于类型的组成结 阅读全文
posted @ 2021-01-20 14:26
神秘杰尼龟
阅读(128)
评论(0)
推荐(0)
摘要:
介绍 这节介绍TypeScript里的类型推论。即,类型是在哪里如何被推断的。 基础 TypeScript里,在有些没有明确指出类型的地方,类型推论会帮助提供类型。如下面的例子 let x = 3; 变量x的类型被推断为数字。 这种推断发生在初始化变量和成员,设置默认参数值和决定函数返回值时。 大多 阅读全文
posted @ 2021-01-20 14:25
神秘杰尼龟
阅读(51)
评论(0)
推荐(0)
摘要:
介绍 使用枚举我们可以定义一些带名字的常量。 使用枚举可以清晰地表达意图或创建一组有区别的用例。 TypeScript支持数字的和基于字符串的枚举。 数字枚举 首先我们看看数字枚举,如果你使用过其它编程语言应该会很熟悉。 enum Direction { Up = 1, Down, Left, Ri 阅读全文
posted @ 2021-01-20 14:17
神秘杰尼龟
阅读(133)
评论(0)
推荐(0)
摘要:
介绍 软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性。 组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型,这在创建大型系统时为你提供了十分灵活的功能。 在像C#和Java这样的语言中,可以使用泛型来创建可重用的组件,一个组件可以支持多种类型的数据。 这样用户就可以以 阅读全文
posted @ 2021-01-20 14:15
神秘杰尼龟
阅读(94)
评论(0)
推荐(0)
摘要:
介绍 函数是JavaScript应用程序的基础。 它帮助你实现抽象层,模拟类,信息隐藏和模块。 在TypeScript里,虽然已经支持类,命名空间和模块,但函数仍然是主要的定义 行为的地方。 TypeScript为JavaScript函数添加了额外的功能,让我们可以更容易地使用。 函数 和JavaS 阅读全文
posted @ 2021-01-20 11:48
神秘杰尼龟
阅读(170)
评论(0)
推荐(0)
摘要:
介绍 TypeScript的核心原则之一是对值所具有的结构进行类型检查。 它有时被称做“鸭式辨型法”或“结构性子类型化”。 在TypeScript里,接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约。 接口的作用类似于抽象类,不同点在于:接口中的所有方法和属性都是没有实值的,换句话说接口 阅读全文
posted @ 2021-01-20 11:45
神秘杰尼龟
阅读(148)
评论(0)
推荐(0)
摘要:
变量声明 let和const是JavaScript里相对较新的变量声明方式。 像我们之前提到过的, let在很多方面与var是相似的,但是可以帮助大家避免在JavaScript里常见一些问题。 const是对let的一个增强,它能阻止对一个变量再次赋值。 因为TypeScript是JavaScrip 阅读全文
posted @ 2021-01-20 11:42
神秘杰尼龟
阅读(135)
评论(0)
推荐(0)
摘要:
介绍 为了让程序有价值,我们需要能够处理最简单的数据单元:数字,字符串,结构体,布尔值等。 TypeScript支持与JavaScript几乎相同的数据类型,此外还提供了实用的枚举类型方便我们使用。 基本类型 类型声明 类型声明是TS非常重要的一个特点; 通过类型声明可以指定TS中变量(参数、形参) 阅读全文
posted @ 2021-01-20 11:39
神秘杰尼龟
阅读(62)
评论(0)
推荐(0)
浙公网安备 33010602011771号