TypeScript 小试牛刀
TypeScript 变量 

TypeScript 数据类型

TypeScript 支持 JavaScript 的所有数据类型,并且在此基础上提供了静态类型检查的功能,使得在开发过程中能够更早地发现和修复错误。下面是 TypeScript 中常见的数据类型及其用法:

基本数据类型

  • 布尔类型 (boolean)

let isDone: boolean = false;
  • 数字类型 (number)

let decimal: number = 6;
let hex: number = 0xf00d;
let binary: number = 0b1010;
let octal: number = 0o744;
  • 字符串类型 (string)

let color: string = "blue";
let fullName: string = `John Doe`;
let greeting: string = `Hello, ${fullName}`;

数组类型

  • 数组

let numbers: number[] = [1, 2, 3, 4, 5];
let names: string[] = ["Alice", "Bob", "Charlie"];
  • 使用泛型 Array 类型

let numbers: Array<number> = [1, 2, 3, 4, 5];
let names: Array<string> = ["Alice", "Bob", "Charlie"];

元组类型 (tuple)

元组类型表示一个已知元素数量和类型的数组,各元素的类型不必相同。

let x: [string, number];
x = ["hello", 10]; // 正确
x = [10, "hello"]; // 错误,顺序不匹配

枚举类型 (enum)

枚举类型允许为一组数值赋予友好的名字。

enum Color {
    Red,
    Green,
    Blue,
}
let c: Color = Color.Green;
console.log(c); // 输出: 1,因为枚举从 0 开始计数

Any 类型 (any)

any 类型允许在编程阶段选择放弃类型检查。

let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // 也可以是一个 boolean 值

Void 类型 (void)

void 表示没有任何类型。常用于函数没有返回值时的返回类型声明。

function logMessage(): void {
    console.log("This is a log message.");
}

Null 和 Undefined 类型

null 和 undefined 是 TypeScript 中的特殊类型,用作变量的值。

let u: undefined = undefined;
let n: null = null;

Never 类型 (never)

never 表示那些永不存在的值的类型。通常作为抛出异常或无法执行到终点的函数的返回类型。

function error(message: string): never {
    throw new Error(message);
}
function infiniteLoop(): never {
    while (true) {
        // do something
    }
}

Object 类型 (object)

object 表示非原始类型,即除 number、string、boolean、symbol、null 或 undefined 之外的类型。

let obj: object = { name: "John", age: 30 };

类型断言

类型断言允许你在 TypeScript 中告诉编译器“我知道自己在做什么”。

let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;
// 或者使用尖括号语法:
let strLength: number = (<string>someValue).length;


总结

这些是 TypeScript 中的主要数据类型及其用法。类型系统的引入使得 TypeScript 在编写大型应用程序时更加安全和可维护,同时提供了更好的开发体验和代码提示。通过深入学习和实践这些类型,可以更好地利用 TypeScript 的优势。