TypeScript 第二节:基础类型

2023-12-13 04:02:18

TS(TypeScript)的基础类型包括:

  1. boolean:布尔值,包括 true 和 false。
  2. number:数值类型,包括整数、浮点数和 NaN。
  3. string:字符串类型,包括普通字符串和模板字符串。
  4. null 和 undefined:两个特殊的值,分别对应空和未定义。
  5. symbol:唯一的、不可变的值,用作对象属性的键。
  6. any:任意类型,允许任何类型的值。
  7. void:表示没有返回值的函数类型。
  8. never:表示永远不存在的值的类型,通常用于抛出异常或死代码路径中。

除了以上基础类型,TS 还支持其他高级类型,如元组(tuple)、枚举(enum)、联合类型(union)、交叉类型(intersection)等。

一、基础类型

1、boolean 类型

布尔类型表示 true 或 false 的值。例如:

let isDone: boolean = true;
let isLogin: boolean = false;

2、number 类型

数值类型包括整数、浮点数和 NaN。例如:

let decimal: number = 6; // 十进制
let hex: number = 0xf00d; // 十六进制
let binary: number = 0b1010; // 二进制
let octal: number = 0o744; // 八进制
let notANumber: number = NaN; // 非数字
let infinity: number = Infinity; // 无穷大

3、string 类型

字符串类型包括普通字符串和模板字符串。例如:

let myName: string = 'Tom';
let sentence: string = `Hello, my name is ${myName}.`;

4、null 和 undefined 类型

null 和 undefined 是两个特别的值,分别对应空和未定义。它们属于所有类型的子类型,因此可以将它们赋值给任何类型的变量。例如:

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

5、symbol 类型

Symbol 表示唯一的、不可变的值,通常用作对象属性的键。例如:

let sym1 = Symbol();
let sym2 = Symbol('key'); // 可选的字符串键

6、any 类型

any 类型表示任意类型的值。如果不确定变量的类型,可以使用 any 类型。例如:

let notSure: any = 4;
notSure = 'maybe a string instead';
notSure = false;

let list: any[] = [1, true, 'free'];
list[1] = 100;

7、void 类型

void 类型表示没有返回值的函数类型。例如:

function warnUser(): void {
  console.log('This is a warning message!');
}

8、never 类型

never 类型表示永远不存在的值的类型,通常用于抛出异常或死代码路径中。例如:

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

function infiniteLoop(): never {
  while (true) {}
}

二、除了基础类型,TS 还支持以下高级类型:

1、元组(tuple):表示元素数量和类型都已知的数组类型。例如:

let x: [number, string];
x = [1, 'hello'];

2、枚举(enum):表示命名的数字常量的集合。例如:

enum Color {
  Red,
  Green,
  Blue,
}
let c: Color = Color.Green;
console.log(c); // 输出 1

3、联合类型(union):表示两个或多个类型之一的类型。例如:

let value: string | number;
value = 'hello';
value = 100;

4、交叉类型(intersection):表示多个类型的组合类型。例如:

interface A {
  a: number;
}
interface B {
  b: string;
}
type AB = A & B;
const ab: AB = { a: 1, b: 'hello' };

文章来源:https://blog.csdn.net/Sunshine_Jian/article/details/134927379
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。