随笔分类 -  TypeScript

静心学习
摘要:声明合并 如果定义了两个相同名字的函数、接口或类,那么它们会合并成一个类型: 函数的合并 之前学习过重载,我们可以使用重载定义多个函数类型: 接口的合并 接口中的属性在合并时会简单的合并到一个接口中: 相当于: 注意, 合并的属性的类型必须是唯一的 : ts interface Alarm { pr 阅读全文
posted @ 2019-11-05 22:02 Honor_Chen
摘要:泛型 泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性。 简单的例子 首先,我们来实现一个函数 ,它可以创建一个指定长度的数组,同时将每一项都填充一个默认值: ts function createArray(length: number 阅读全文
posted @ 2019-11-05 22:01 Honor_Chen
摘要:类与接口 "之前学习过" ,接口(Interfaces)可以用于对「对象的形状(Shape)」进行描述。 这一章主要介绍接口的另一个用途,对类的一部分行为进行抽象。 类实现接口 实现(implements)是面向对象中的一个重要概念。一般来讲,一个类只能继承自另一个类,有时候不同类之间可以有一些共有 阅读全文
posted @ 2019-11-05 22:00 Honor_Chen
摘要:类 传统方法中,JavaScript 通过构造函数实现类的概念,通过原型链实现继承。而在 ES6 中,我们终于迎来了 。 TypeScript 除了实现了所有 ES6 中的类的功能以外,还添加了一些新的用法。 这一节主要介绍类的用法,下一节再介绍如何定义类的类型。 类的概念 虽然 JavaScrip 阅读全文
posted @ 2019-11-05 21:58 Honor_Chen
摘要:枚举 枚举(Enum)类型用于取值被限定在一定范围内的场景,比如一周只能有七天,颜色限定为红绿蓝等。 简单的例子 枚举使用 关键字来定义: 枚举成员会被赋值为从 开始递增的数字,同时也会对枚举值到枚举名进行反向映射: 事实上,上面的例子会被编译为: 手动赋值 我们也可以给枚举项手动赋值: 上面的例子 阅读全文
posted @ 2019-11-05 21:57 Honor_Chen
摘要:元组 数组合并了相同类型的对象,而元组(Tuple)合并了不同类型的对象。 元组起源于函数编程语言(如 F ),这些语言中会频繁使用元组。 简单的例子 定义一对值分别为 和 的元组: 当赋值或访问一个已知索引的元素时,会得到正确的类型: 也可以只赋值其中一项: 但是当直接对元组类型的变量进行初始化或 阅读全文
posted @ 2019-11-05 21:56 Honor_Chen
摘要:字符串字面量类型 字符串字面量类型用来约束取值只能是某几个字符串中的一个。 上例中,我们使用 定了一个字符串字面量类型 ,它只能取三种字符串中的一种。 注意, 类型别名与字符串字面量类型都是使用 进行定义。 本文引用 "xcatliu" 阅读全文
posted @ 2019-11-05 21:55 Honor_Chen
摘要:类型别名 类型别名用来给一个类型起个新名字。 上例中,我们使用 创建类型别名。 类型别名常用于 联合类型 。 本文引用 "xcatliu" 阅读全文
posted @ 2019-11-05 21:54 Honor_Chen
摘要:内置对象 阅读全文
posted @ 2019-11-03 00:29 Honor_Chen
摘要:声明文件 待续。。。 本文引用 "xcatliu" 阅读全文
posted @ 2019-11-03 00:23 Honor_Chen
摘要:类型断言 类型断言(Type Assertion)可以用来手动指定一个值的类型。 语法 或 在 tsx 语法(React 的 jsx 语法的 ts 版)中必须用后一种。 例子:将一个联合类型的变量指定为一个更加具体的类型 "之前提到过" ,当 TypeScript 不确定一个联合类型的变量到底是哪个 阅读全文
posted @ 2019-11-03 00:22 Honor_Chen
摘要:函数的类型 函数是 JavaScript 中的一等公民 函数声明 在 JavaScript 中,有两种常见的定义函数的方式——函数声明(Function Declaration)和函数表达式(Function Expression): 一个函数有输入和输出,要在 TypeScript 中对其进行约束 阅读全文
posted @ 2019-11-03 00:21 Honor_Chen
摘要:数组的类型 在 TypeScript 中,数组类型有多种定义方式,比较灵活。 「类型 + 方括号」表示法 最简单的方法是使用「类型 + 方括号」来表示数组: 数组的项中 不允许 出现其他的类型: 数组的一些方法的参数也会根据数组在定义时约定的类型进行限制: 上例中, 方法只允许传入 类型的参数,但是 阅读全文
posted @ 2019-11-03 00:19 Honor_Chen
摘要:对象的类型——接口 在 TypeScript 中,我们使用接口(Interfaces)来定义对象的类型。 什么是接口 在面向对象语言中,接口(Interfaces)是一个很重要的概念,它是对行为的抽象,而具体如何行动需要由类(classes)去实现(implement)。 TypeScript 中的 阅读全文
posted @ 2019-11-03 00:18 Honor_Chen
摘要:联合类型 联合类型(Union Types)表示取值可以为多种类型中的一种。 简单的例子 联合类型使用 分隔每个类型。 这里的 的含义是,允许 的类型是 或者 ,但是不能是其他类型。 访问联合类型的属性或方法 当 TypeScript 不确定一个联合类型的变量到底是哪个类型的时候,我们 只能访问此联 阅读全文
posted @ 2019-11-03 00:07 Honor_Chen
摘要:类型推论 如果没有明确的指定类型,那么 TypeScript 会依照类型推论(Type Inference)的规则推断出一个类型。 什么是类型推论 以下代码虽然没有指定类型,但是会在编译的时候报错: 事实上,它等价于: TypeScript 会在没有明确的指定类型的时候推测出一个类型,这就是类型推论 阅读全文
posted @ 2019-11-03 00:01 Honor_Chen
摘要:任意值 任意值(Any)用来表示允许赋值为任意类型。 什么是任意值类型 如果是一个普通类型,在赋值过程中改变类型是不被允许的: 但如果是 类型,则允许被赋值为任意类型。 任意值的属性和方法 在任意值上访问任何属性都是允许的: 也允许调用任何方法: 可以认为, 声明一个变量为任意值之后,对它的任何操作 阅读全文
posted @ 2019-11-02 23:58 Honor_Chen
摘要:基本数据类型 JavaScript 的类型分为两种:基本数据类型 和 引用数据类型。 基本数据类型:布尔值、数值、字符串、 、`undefined Symbol`](http://es6.ruanyifeng.com/)。 主要介绍 前五种 原始数据类型在 TS 中的应用。 布尔值 布尔值是最基础的 阅读全文
posted @ 2019-11-02 23:43 Honor_Chen
摘要:环境配置: node -v npm install typescript -g (建议不要全局安装) tsc -v tsc --init ( tsconfig.json ) tsconfig.json ( 配置项修改 ) Ctrl + Shift + B ( vscode 解析 ts 文件为 js 阅读全文
posted @ 2019-10-28 21:17 Honor_Chen