14-类型别名.md

类型别名类型别名用来给一个类型起个新名字。简单的例子§type Name = string;type NameResolver = () => string;type NameOrResolver = Name | NameResolver;function getName(n: NameOr


12-声明文件.md

声明文件当使用第三方库时,我们需要引用它的声明文件,才能获得对应的代码补全、接口提示等功能。新语法索引§由于本章涉及大量新语法,故在本章开头列出新语法的索引,方便大家在使用这些新语法时能快速查找到对应的讲解:declare var 声明全局变量declare function 声明全局方法decla


11-类型断言.md

类型断言类型断言(Type Assertion)可以用来手动指定一个值的类型。语法§值 as 类型或<类型>值在 tsx 语法(React 的 jsx 语法的 ts 版)中必须使用前者,即 值 as 类型。形如 `` 的语法在 tsx 中表示的是一个 ReactNode,在 ts 中除了


10-函数的类型.md

函数的类型函数是 JavaScript 中的一等公民函数声明§在 JavaScript 中,有两种常见的定义函数的方式——函数声明(Function Declaration)和函数表达式(Function Expression):// 函数声明(Function Declaration)functi


08-接口.md

对象的类型——接口在 TypeScript 中,我们使用接口(Interfaces)来定义对象的类型。什么是接口§在面向对象语言中,接口(Interfaces)是一个很重要的概念,它是对行为的抽象,而具体如何行动需要由类(classes)去实现(implement)。TypeScript 中的接口是


09-数组的类型.md

数组的类型在 TypeScript 中,数组类型有多种定义方式,比较灵活。「类型 + 方括号」表示法§最简单的方法是使用「类型 + 方括号」来表示数组:let fibonacci: number[] = [1, 1, 2, 3, 5];数组的项中不允许出现其他的类型:let fibonacci: n


07-联合类型.md

联合类型联合类型(Union Types)表示取值可以为多种类型中的一种。简单的例子§let myFavoriteNumber: string | number;myFavoriteNumber = 'seven';myFavoriteNumber = 7;let myFavoriteNumber:


06-类型推断.md

类型推论如果没有明确的指定类型,那么 TypeScript 会依照类型推论(Type Inference)的规则推断出一个类型。什么是类型推论§以下代码虽然没有指定类型,但是会在编译的时候报错:let myFavoriteNumber = 'seven';myFavoriteNumber = 7;/


04-原始数据类型.md

原始数据类型JavaScript 的类型分为两种:原始数据类型(Primitive data types)和对象类型(Object types)。原始数据类型包括:布尔值、数值、字符串、null、undefined 以及 ES6 中的新类型 Symbol。本节主要介绍前五种原始数据类型在 TypeS


05-任意值.md

任意值任意值(Any)用来表示允许赋值为任意类型。什么是任意值类型§如果是一个普通类型,在赋值过程中改变类型是不被允许的:let myFavoriteNumber: string = 'seven';myFavoriteNumber = 7;// index.ts(2,1): error TS232