您是否厌倦了编写臃肿且难以阅读的代码?想要提升您的编码技能并使您的代码更具可读性和简洁性?不要再观望!在本文中,我将深入 ES6 解构的世界,并向您展示如何使用它来编写更干净、更高效的代码。
从解构对象和数组到使用默认值和扩展运算符,我们将涵盖所有内容。准备好掌握干净简洁的编码艺术。
使用解构的最常见方法之一是将对象的属性分配给变量。例如,而不是写:
const person = { name: 'John', age: 30 };
const name = person.name;
const age = person.age;
您可以使用解构使代码更简洁:
const person = { name: 'John', age: 30 };
const { name, age } = person;
就像对象一样,您也可以使用解构将数组的元素分配给变量。例如,而不是写:
const numbers = [1, 2, 3];
const first = numbers[0];
const second = numbers[1];
const third = numbers[2];
您可以使用解构使代码更简洁:
const numbers = [1, 2, 3];
const [first, second, third] = numbers;
解构还允许您在值未定义的情况下为变量分配默认值。例如,而不是写:
const person = { name: 'John' };
let age = person.age || 25;
您可以使用解构使代码更简洁:
const person = { name: 'John' };
const { age = 25 } = person;
有时,您要解构的属性或变量名称与您要在代码中使用的名称不匹配。在这些情况下,您可以使用冒号 (:) 重命名变量。例如,而不是写:
const person = { firstName: 'John', lastName: 'Doe' };
const first = person.firstName;
const last = person.lastName;
您可以使用解构使代码更简洁和语义化:
const person = { firstName: 'John', lastName: 'Doe' };
const { firstName: first, lastName: last } = person;
解构也可用于嵌套对象和数组。例如,而不是写:
const data = {
results: [
{
title: 'Article 1',
author: {
name: 'John',
age: 30
}
},
{
title: 'Article 2',
author: {
name: 'Jane',
age: 25
}
}
]
};
const firstResultTitle = data.results[0].title;
const firstAuthorName = data.results[0].author.name;
const firstAuthorAge = data.results[0].author.age;
您可以使用嵌套解构来使代码更简洁:
const data = {
results: [
{
title: 'Article 1',
author: {
name: 'John',
age: 30
}
},
{
title: 'Article 2',
author: {
name: 'Jane',
age: 25
}
}
]
};
const {
results: [{ title: firstResultTitle, author: { name: firstAuthorName, age: firstAuthorAge } }]
} = data;
解构也可以用于函数参数。例如,而不是写:
function createPerson(options) {
const name = options.name;
const age = options.age;
// ...
}
createPerson({ name: 'John', age: 30 });
您可以使用解构使代码更简洁和语义化:
function createPerson({ name, age }) {
// ...
}
createPerson({ name: 'John', age: 30 });
您还可以将扩展运算符 (...) 与解构结合使用,以将数组的剩余元素或对象的剩余属性分配给变量。例如,而不是写:
const numbers = [1, 2, 3, 4, 5];
const [first, second, ...others] = numbers;
console.log(others); // [3, 4, 5]
您可以将扩展运算符和解构一起使用,使代码更简洁:
const numbers = [1, 2, 3, 4, 5];
const [first, second, ...others] = numbers;
console.log(others); // [3, 4, 5]
解构可以用在函数传递参数的过程中。我先先来看一下没有用到解构参数的例子,之后我们把它改造成解构参数。在这个例子里面我们使用解构参数改写了函数声明
交换变量:通常交换两个变量的方法需要一个额外的临时变量,来看看例子;访问数组中元素有种场景,咱们可能有一个为空的项数组。并且希望访问数组的第一个、第二个或第n个项
解构的同时赋予初始值(使用 =),2.使用的变量名与解构目标的key不一致或要使用多个变量(使用 : ),解构中的 rest(变量由多变少) 与spread(变量由少变多)
解构:从数组和对象中提取值,对变量进行赋值。数组的解构赋值1.数组的元素是按次序排列的,变量的取值由它的位置决定;对象的解构赋值1.对象的属性没有次序,变量必须与属性同名,才能取到正确的值。
解构的作用:简化书写长度,提升开发效率。在开发中我们常用到使用ajax请求数据,并且把数据渲染到页面上。可能这个数据返回的对象或数组。
解构: ES6 中允许按照一定的模式从数组和对象中提取值,然后对变量进行赋值,这被称为解构(Destructuring).本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予相应的值。
ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。它在语法上比ES5所提供的更加简洁、紧凑、清晰。它不仅能减少你的代码量,还能从根本上改变你的编码方式。
temp是一个临时变量,它先保存a的值。然后把b的值赋值给a,接着将temp值赋给 b。如果使用解构的方式会更简单,不需要什么鬼的 temp 变量。
解构可以用于数组,还可以用于对象。对象的解构赋值,可以很方便地将现有对象的方法,赋值到某个变量。
es6新增了一种从数组或者对象中获取指定元素的方式,这种方式就是我们今天要说的解构。在有解构之前呢,我们获取数组中的指定元素通常是根据索引去做的:
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!