TypeScript 中的基础类型:原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型

简介: TypeScript 中的基础类型:原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型

TypeScript 是一种由微软开发的静态类型编程语言,它是 JavaScript 的超集,并且可以在编译时进行类型检查。TypeScript 强大的类型系统使得开发者能够更轻松地编写可维护、可扩展的代码。本文将详细介绍 TypeScript 中的基础类型,包括原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型。

原始类型

在 TypeScript 中,有以下几种原始类型:

数字类型

数字类型用于表示整数或浮点数。可以使用 number 关键字来声明数字变量。

例如:

let num: number = 123;

字符串类型

字符串类型用于表示文本数据。可以使用 string 关键字来声明字符串变量。

例如:

let str: string = "Hello";

布尔类型

布尔类型用于表示逻辑值,即 true 或 false。可以使用 boolean 关键字来声明布尔变量。

例如:

let isTrue: boolean = true;

空值和未定义类型

空值类型 (void) 用于表示没有返回值的函数。未定义类型 (undefined) 用于表示未赋值的变量。可以使用 void 和 undefined 关键字来声明对应的变量。

例如:

let result: void = undefined;  // 空值类型
let undef: undefined = undefined;  // 未定义类型

空值和无类型类型

空值类型 (void) 用于表示没有返回值的函数。 null 类型用于表示空值或者对象引用为空。可以使用 void 和 null 关键字来声明对应的变量。

例如:

let nothing: null = null;  // 空值类型
let nul: null = null;  // 空值类型

对象类型

对象类型用于表示非原始数据类型,包括对象、数组、函数等。可以使用 object 关键字来声明对象类型。

对象类型

对象类型用于表示一个对象,其中包含多个键值对。可以使用 {} 或者 object 关键字来声明对象类型。对象类型可以指定属性名和属性值的类型。

例如:

let person: {
    name: string; age: number } = {
   
  name: "John",
  age: 25,
};

数组类型

数组类型用于表示一个由相同类型的元素组成的有序集合。可以使用 类型[] 或者 Array<类型> 的语法来声明数组类型。

例如:

let numbers: number[] = [1, 2, 3, 4, 5]; // 数字数组
let names: string[] = ["Alice", "Bob", "Charlie"]; // 字符串数组

元组类型

元组类型用于表示一个固定长度和类型的数组。可以使用 [类型1, 类型2, ...] 的语法来声明元组类型。

例如:

let user: [string, number] = ["John", 25]; // 元组类型

函数类型

函数类型用于表示一个函数。可以使用 (参数类型) => 返回值类型 的语法来声明函数类型。

例如:

let add: (x: number, y: number) => number = function (x: number, y: number): number {
   
  return x + y;
};

枚举类型

枚举类型用于表示一组有名字的常量。可以使用 enum 关键字来声明枚举类型。

例如:

enum Color {
   
  Red,
  Green,
  Blue,
}

let color: Color = Color.Green;

在枚举类型中,每个枚举成员都有一个与它关联的数字值,默认从 0 开始。也可以手动指定枚举成员的数值。

联合类型

联合类型用于表示一个变量可以是多种类型之一。可以使用 类型1 | 类型2 | ... 的语法来声明联合类型。

例如:

let value: string | number = "Hello"; // 联合类型
value = 123; // 合法

联合类型可以提供更大的灵活性,使得我们能够处理多种不同类型的值。

类型推断和类型断言

TypeScript 具有强大的类型推断能力,它可以根据上下文自动推断变量的类型。例如,如果我们在定义变量时直接赋值,TypeScript 可以推断出变量的类型。

let num = 123; // 类型推断为 number
let str = "Hello"; // 类型推断为 string

此外,我们还可以使用类型断言来告诉编译器某个值的类型。类型断言有两种语法形式,<类型>值 和 值 as 类型。

let someValue: unknown = "Hello";
let strLength1: number = (<string>someValue).length;
let strLength2: number = (someValue as string).length;

类型断言可以在一些无法通过类型推断的情况下提供类型信息,但要注意谨慎使用,以避免出现类型错误。

总结

本文详细介绍了 TypeScript 的基础类型,包括原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型等方面。TypeScript 强大的类型系统使得开发者能够在编译时进行类型检查,减少了在运行时出现类型错误的概率。

目录
相关文章
|
JavaScript 前端开发
揭秘 TypeScript 条件类型:超越简单类型检查
揭秘 TypeScript 条件类型:超越简单类型检查
|
JavaScript 安全 索引
TypeScript 高级类型工具:Partial, Required, Record 的妙用与陷阱
TypeScript 高级类型工具:Partial, Required, Record 的妙用与陷阱
|
JavaScript 安全 IDE
TypeScript 类型体操:别让 `any` 毁了你的安全网!
TypeScript 类型体操:别让 `any` 毁了你的安全网!
|
存储 安全 JavaScript
TypeScript-内置应用程序类型-Recode
通过使用 `Record` 类型,开发者可以显著提升代码的安全性和可维护性。无论是配置对象、字典结构还是动态表单,`Record` 类型都提供了一个简洁、类型安全的解决方案。
663 82
|
JavaScript 安全 编译器
TypeScript 类型守卫:让你的类型系统更智能
TypeScript 类型守卫:让你的类型系统更智能
|
设计模式 JavaScript 安全
TypeScript性能优化及代码质量提升的重要性、方法与策略,包括合理使用类型注解、减少类型断言、优化模块导入导出、遵循编码规范、加强代码注释等
本文深入探讨了TypeScript性能优化及代码质量提升的重要性、方法与策略,包括合理使用类型注解、减少类型断言、优化模块导入导出、遵循编码规范、加强代码注释等,旨在帮助开发者在保证代码质量的同时,实现高效的性能优化,提升用户体验和项目稳定性。
643 6
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
651 2
|
JavaScript 前端开发 安全
深入理解TypeScript:增强JavaScript的类型安全性
【10月更文挑战第8天】深入理解TypeScript:增强JavaScript的类型安全性
580 0
|
JavaScript 前端开发 开发者
深入理解TypeScript:类型系统与实用技巧
【10月更文挑战第8天】深入理解TypeScript:类型系统与实用技巧
|
存储 JavaScript
typeScript进阶(11)_元组类型
本文介绍了TypeScript中的元组(Tuple)类型,它是一种特殊的数组类型,可以存储不同类型的元素。文章通过示例展示了如何声明元组类型以及如何给元组赋值。元组类型在定义时需要指定数组中每一项的类型,且在赋值时必须满足这些类型约束。此外,还探讨了如何给元组类型添加额外的元素,这些元素必须符合元组类型中定义的类型联合。
310 0