在 TypeScript 中,数组解构赋值是一种简洁的方式来提取数组中的元素,并将其赋值给相应的变量。下面介绍基本的解构赋值及一些复杂应用。
基本用法
1. 简单解构
可以通过数组解构来提取数组中的值并赋给变量。
const arr = [1, 2, 3];
const [a, b, c] = arr;
console.log(a, b, c); // 输出: 1 2 32. 跳过某些元素
如果不需要某些元素,可以用逗号 , 来跳过。
const arr = [1, 2, 3];
const [, b, ] = arr;
console.log(b); // 输出: 23. 剩余元素
使用 ... 来获取剩下的元素。
const arr = [1, 2, 3, 4];
const [a, ...rest] = arr;
console.log(a); // 输出: 1
console.log(rest); // 输出: [2, 3, 4]高级用法
4. 解构嵌套数组
对于嵌套数组,可以逐层解构。
const arr = [1, [2, 3], 4];
const [a, [b, c], d] = arr;
console.log(a, b, c, d); // 输出: 1 2 3 45. 解构并指定默认值
如果解构时某个元素为 undefined,可以指定一个默认值。
const arr = [1];
const [a, b = 2] = arr;
console.log(a, b); // 输出: 1 26. 解构交换变量
解构赋值非常适合用来交换两个变量的值。
let a = 1, b = 2;
[a, b] = [b, a];
console.log(a, b); // 输出: 2 17. 与函数返回值配合使用
可以将解构赋值与函数返回值结合使用,提取多个返回值。
function getCoordinates() {
return [10, 20];
}
const [x, y] = getCoordinates();
console.log(x, y); // 输出: 10 208. 解构结合类型注解
对于包含类型的数组,可以为解构的变量加上类型注解。
const arr: [string, number] = ["Alice", 25];
const [name, age]: [string, number] = arr;
console.log(name, age); // 输出: Alice 25通过这些基本和复杂的解构赋值应用,可以使得代码更加简洁和易读。