8种基本类型:string、number、boolean、undefind、null、object、symbol、bigint(ES2020 标准引入)
特殊值:undefind、null
复合类型:object
原始类型:string、number、boolean、symbol、bigint(ES2020 标准引入),五种原始类型的值,都有对应的包装对象(wrapper object)
所谓“包装对象”,指的是这些值在需要时,会自动产生的对象。
Typescript中包装对象类型与字面量类型类型映射
类型推断
类型断言
条件类型
自定义守卫
类型守卫
类型转换
接口
类
泛型
装饰器
枚举
字符串
数字
布尔值
元组
undefined
null
bigint(ES2020 标准引入)
数组
any
symbol
包装对象类型
字面量类型
函数
方法拦截器
根类型
值类型
object
命名空间
模块
declare 关键字
类型运算符
tsconfig.json
类型工具
联合类型
交叉类型
类型声明文件
注释指令
块级类型声明
类型的兼容
TypeScript 是一种由 Microsoft 开发的开源编程语言,它在 JavaScript 的基础上添加了静态类型定义。TypeScript 的主要目标是提高大型应用程序的开发和维护效率,同时也使得开发者能够在编译阶段就发现并修正错误。以下是 TypeScript 中的一些核心概念和思想:
1. 静态类型检查:TypeScript 的核心特性之一是它的静态类型系统。通过在代码中添加类型注解,开发者可以在编译时期而非运行时期发现潜在的错误,这有助于提高代码的质量和可维护性。
2. 类型推断:虽然 TypeScript 强调类型注解,但它也能够在很多情况下自动推断变量和表达式的类型,减少了需要显式声明类型的场合,使得代码更加简洁。
3. 接口(Interfaces):接口是 TypeScript 的一个核心概念,允许你定义对象的形状。接口可以用来描述对象的结构,也可以用来描述类必须实现的方法和属性。
4. 类(Classes)和继承:TypeScript 支持基于类的面向对象编程。它提供了类、接口、继承和多态等传统面向对象编程的特性,使得开发大型应用更加方便。
5. 泛型(Generics):泛型允许在定义函数、接口或类的时候不预先指定具体的类型,而是在使用时再指定类型。这提高了代码的复用性,并保持了类型安全。
6. 枚举(Enums):TypeScript 提供了枚举类型,使得组织一组相关的值变得更加容易。枚举是对 JavaScript 标准数据类型的一个补充。
7. 模块(Modules):TypeScript 支持模块化的代码组织方式,允许开发者将代码分割成可重用的单元,并控制它们的可见性和依赖关系。
8. 装饰器(Decorators):装饰器是一种特殊类型的声明,它能够被附加到类声明、方法、访问符、属性或参数上。装饰器使用 @expression
形式,`expression` 求值后必须为一个函数,它会在运行时被调用。
9. 类型兼容性:TypeScript 的类型兼容性是基于结构子类型的。这意味着如果一个类型的所有成员的类型都是兼容的,那么这个类型就被认为是兼容的。
10. 高级类型:TypeScript 提供了多种高级类型功能,如交叉类型、联合类型、类型别名、类型守卫等,这些都是为了提高代码的灵活性和表达力。
TypeScript 的设计哲学是尽可能地静态类型化,同时保持代码的简洁性和高度的可配置性。通过引入强大的类型系统,TypeScript 旨在提高开发效率,促进大型项目的可维护性,同时保持与 JavaScript 的高度兼容性。