第37天:类型
#javascript #typescript #100daysofcode #day37

在本文中,我们将潜入打字稿类型,探索内置类型,高级类型概念和示例。让我们开始吧! ð

基本类型ð

1.Cold0ð¢

表示数字值等数字值和浮点数。

let age: number = 25;

2. string-

表示通常用单引号或双引号包装的文本数据。

let name: string = "Alice";

3. boolean

代表真或错误的值。

let isActive: boolean = true;

4.Kound3ð

一种允许动态类型的灵活类型,类似于普通的JavaScript。

let dynamicValue: any = 42;
dynamicValue = "Hello!";

5.COLD4ð«!

用于不返回值的函数。

function logMessage(): void {
    console.log("Logged!");
}

6. nullundefinedð«

表示没有值。它们是独立的类型,可以分配给各自的类型。

let maybeNull: null = null;
let maybeUndefined: undefined = undefined;

7. never

表示永远不会发生的值,通常用于抛出异常或输入无限循环的函数。

function throwError(message: string): never {
    throw new Error(message);
}

8.对象ð

代表非重要性类型,即,任何不是数字,字符串,布尔值,null或不确定的东西。

let person: object = { name: "Bob", age: 30 };
or
let person: Record<string, string> = { name: "Bob" };
or
let person: { name: string }  = { name: "Bob" };

9.symbolð

创建独特而不可变的值,通常用作对象属性密钥。

const uniqueKey: symbol = Symbol("unique");

10.枚举类型(enum)ð

一组命名的常数值,非常适合提高代码可读性。

enum Color {
    Red,
    Green,
    Blue,
}

let chosenColor: Color = Color.Green;

11.元组类型ð

允许定义具有固定类型和已知长度的数组。

let person: [string, number] = ["Alice", 25];

12.数组类型ð

表示特定类型的数组。

let numbers: number[] = [1, 2, 3, 4, 5];

13.类型别名â

为类型创建自定义名称,使复杂类型更可读。

type Point = { x: number; y: number };
let coordinates: Point = { x: 10, y: 20 };

高级类型ð

工会类型ð

使用|运算符组合多种类型。

let value: string | number = "Hello";
value = 42;

交叉点类型

将多种类型组合成一种,导致每种类型的所有属性都存在。

type Nameable = { name: string };
type Ageable = { age: number };
type Person = Nameable & Ageable;

let person: Person = { name: "Alice", age: 30 };

示例ð

1.功能签名

使用类型定义函数签名。

type MathOperation = (a: number, b: number) => number;

const add: MathOperation = (a, b) => a + b;

2.不同类型ð

使用类型工会处理不同的数据结构。

type DataStructure = string[] | number[] | object[];

function printLength(data: DataStructure) {
    console.log(data.length);
}