-
Vue 简介
所属栏目:[教程] 日期:2023-03-31 热度:7380
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,方便与第三方库或既有项目整合。[详细]
-
TypeScript TSLint 与 ESLint分析
所属栏目:[教程] 日期:2023-03-31 热度:7100
TypeScript 官方已经决定全面采用 ESLint,ESLint 的 TypeScript 解析器也成为独立项目,专注解决双方兼容性问题。
所以,同开发前端项目一样,熟练掌握 ESLint 规则,也成了 TypeScript 项目开发的必要条件。[详细] -
TypeScript 编译选项介绍
所属栏目:[教程] 日期:2023-03-31 热度:7588
TypeScript 提供了很多不同功能的编译选项,既可以通过配置 tsconfig.json 文件中的 compilerOptions 属性来实现编译,也可以使用在 tsc 命令后跟随参数这形式,直接编译 .ts 文件。
注意: 当命令行上指定了输入[详细] -
TypeScript 声明合并解析
所属栏目:[教程] 日期:2023-03-31 热度:3055
TypeScript 编译器会将程序中多个具有相同名称的声明合并为一个声明。
但这并不是说 TypeScript 会随意的合并两个名称相同的字符串变量,这显然是不符合语法规定的,那么本节将介绍什么样的声明可以进行合并。[详细] -
TypeScript 命名空间定义
所属栏目:[教程] 日期:2023-03-31 热度:6687
命名空间同样是为了避免变量命名冲突,TypeScript 官方将命名空间视为“内部模块”,上节介绍的模块被视为“外部模块”。
如果声明相同名称的命名空间,TypeScript 编译器会将其合并为一个声[详细] -
什么是TypeScript 模块
所属栏目:[教程] 日期:2023-03-31 热度:928
在没有使用模块化编程的时代,会经常遇到全局变量污染、变量重名、多个文件之间存在依赖关系,需要保证一定加载顺序等问题。在模块化这种规范被提出后,得到社区和广大开发者的积极响应。
本节将介绍 TypeScript [详细] -
TypeScript Reflect Metadata介绍
所属栏目:[教程] 日期:2023-03-31 热度:8586
本节介绍的 Reflect Metadata 主要用来在声明的时候添加和读取元数据。通过这种方式给对象添加额外的信息,是不会影响对象的结构的。
Reflect,翻译为『反射』,Metadata,翻译为『元数据』。反射这个概念在 Java[详细] -
TypeScript 装饰器使用方法
所属栏目:[教程] 日期:2023-03-31 热度:4800
装饰器是一种特殊类型的声明,它能够附加到类声明、方法、访问符、属性、类方法的参数上,以达到扩展类的行为。
自从 ES2015 引入 class,当我们需要在多个不同的类之间共享或者扩展一些方法或行为的时候,代码会[详细] -
TypeScript 生成器分析
所属栏目:[教程] 日期:2023-03-31 热度:9506
迭代器和生成器这两个概念总是很容易混淆,经过上节的学习我们知道迭代器是一个对象,那么本节首先要记住:生成器是一种能够中途停止,然后从停止的地方继续运行的函数。可以借助 yield 或 return 停止函数运行。[详细]
-
TypeScript Truthy 与 Falsy运用
所属栏目:[教程] 日期:2023-03-31 热度:6865
除了明确的 true 和 false 两个 boolean 类型外,JavaScript 可以在需要用到布尔类型值的上下文中使用强制类型转换将值转换为布尔值。
Truthy 指的是转换后的值为’真‘的值,Falsy 是在 Boolean 上下文[详细] -
TypeScript 迭代器介绍
所属栏目:[教程] 日期:2023-03-31 热度:417
迭代器是一种特殊对象,它符合迭代器协议规范。在 TypeScript 中,我们可以定义一个接口,这个接口上有一个函数类型 next ,next() 方法的返回值类型是 { value: any, done: boolean }。其中,value 是 any 类型,表[详细]
-
TypeScript infer 关键字应用
所属栏目:[教程] 日期:2023-03-30 热度:3965
语句 let num 中,通过 let 来声明了一个变量,那怎样声明一个不确定的类型变量呢? 答案是使用 infer 关键字,infer R 就是声明了一个类型变量 R。
在条件类型表达式中,可以在 extends 条件语句中使用 infer 关[详细] -
TypeScript is 关键字应用
所属栏目:[教程] 日期:2023-03-30 热度:7904
本节介绍 TypeScript 中的 is 关键字,它被称为类型谓词,用来判断一个变量属于某个接口或类型。如果需要封装一个类型判断函数,你应该第一时间想到它,本节列出了一些常用的类型判断函数以供参考。
is 关键字一般[详细] -
TypeScript 条件类型浅析
所属栏目:[教程] 日期:2023-03-30 热度:4519
条件类型用来表达非均匀类型映射,可以根据一个条件表达式来进行类型检测,从两个类型中选出其中一个:
T extends U ? X : Y
语义类似三目运算符:若 T 是 U 的子类型,则类型为 X,否则类型为 Y。若无法确定 T [详细] -
TypeScript 映射类型运用
所属栏目:[教程] 日期:2023-03-30 热度:4872
映射类型可以将已知类型的每个属性都变为可选的或者只读的。
先来看这样一个任务:将 Person 接口的每个属性都变为可选属性或者只读属性。
interface Person{
name: string
age: number
}
type Person[详细] -
TypeScript 索引类型定义
所属栏目:[教程] 日期:2023-03-30 热度:4938
索引类型可以让 TypeScript 编译器覆盖检测到使用了动态属性名的代码。
要理解抽象的索引类型,需要先理解索引类型查询操作符(keyof)和索引访问操作符(T[K])。
keyof 可以获取对象的可访问索引字符串字面量[详细] -
TypeScript 类型别名解析
所属栏目:[教程] 日期:2023-03-30 热度:2064
类型别名会给类型起个新名字。类型别名有时和接口很像,但是可以作用于原始值,联合类型,元组以及其它任何你需要手写的类型。
用关键字 type 定义类型别名。
类型别名不会新建一个类型,而是创建一个新名字[详细] -
TypeScript 联合类型解析
所属栏目:[教程] 日期:2023-03-30 热度:6389
联合类型与交叉类型很有关联,但是使用上却完全不同。区别在于:联合类型表示取值为多种中的一种类型,而交叉类型每次都是多个类型的合并类型。
语法为:类型一 | 类型二。
联合类型之间使用竖线 “|&rdq[详细] -
TypeScript 交叉类型教程
所属栏目:[教程] 日期:2023-03-30 热度:9778
本节介绍交叉类型的语法和应用,跟数学集合里的相交不一样,TypeScript 的交叉类型并不是指每个类型的交集,& 的意思理解成 and ,A & B 表示同时包含 A 和 B 的结果。
交叉类型是将多个类型合并为一个类型。[详细] -
TypeScript 类型兼容性运用
所属栏目:[教程] 日期:2023-03-30 热度:4590
我们学习类型兼容性,就是在学习 TypeScript 在一个类型能否赋值给其他类型的规则。本节将会详细介绍 TypeScript 在函数、枚举、类和泛型中的类型兼容性规则。
类型兼容性用于确定一个类型是否能赋值给其他类型。[详细] -
TypeScript 泛型(Generic)定义
所属栏目:[教程] 日期:2023-03-30 热度:6454
本节开始介绍 TypeScript 一些进阶知识点,第一个要介绍的泛型是 TypeScript 中非常重要的一个概念,它是一种用以增强函数、类和接口能力的非常可靠的手段。
使用泛型,我们可以轻松地将那些输入重复的代码,构建[详细] -
TypeScript 类型保护介绍
所属栏目:[教程] 日期:2023-03-30 热度:5638
本节介绍的类型保护 TypeScript 类型检查机制的第二个部分,我们可以通过 typeof、instanceof、in 和 字面量类型 将代码分割成范围更小的代码块,在这一小块中,变量的类型是确定的。
类型保护是指缩小类型的范围[详细] -
TypeScript 类型断言运用
所属栏目:[教程] 日期:2023-03-30 热度:7428
本节介绍类型断言,有使用关键字 as 和标签 <> 两种方式,因后者会与JSX 语法冲突,建议统一使用 as 来进行类型断言。
TypeScript 允许你覆盖它的推断,毕竟作为开发者你比编译器更了解你写的代码。
类型断言主[详细] -
TypeScript 类型推断解析
所属栏目:[教程] 日期:2023-03-30 热度:421
类型推断的含义是不需要指定变量类型或函数的返回值类型,TypeScript 可以根据一些简单的规则推断其的类型。
基础的类型推断发生在 初始化变量,设置默认参数和决定返回值时。
初始化变量例子:
let x = [详细] -
TypeScript 字面量类型介绍
所属栏目:[教程] 日期:2023-03-30 热度:5217
在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation)。
通俗的讲,字面量也可以叫直接量,就是你看见什么,它就是什么。
我们之前介绍字符串类型,其实是一个集合类型,所有的[详细]