首页 > 语言 > JavaScript > 正文

es6基础学习之解构赋值

2024-05-06 15:27:24
字体:
来源:转载
供稿:网友

前言

es6的语法已经出了很长的时间了,在使用上也可以通过babel这类的编译工具转译为浏览器可以识别的es5的语法,但是依旧有很多开发在写代码的时候,依旧没有用es6的语法,而是习惯使用老的语法,这篇文章主要会介绍解构赋值基本用法以及在实际使用场景中相比es5语法的优势,让大家从根本上了解es6语法的优势

下面话不多说了,来一起看看详细的介绍吧

基本用法

数组解构

让我们一起先来看数组解构的基本用法:

let [a, b, c] = [1, 2, 3] // a=1, b=2, c=3let [d, [e], f] = [1, [2], 3] // 嵌套数组解构 d=1, e=2, f=3let [g, ...h] = [1, 2, 3] // 数组拆分 g=1, h=[2, 3]let [i,,j] = [1, 2, 3] // 不连续解构 i=1, j=3let [k,l] = [1, 2, 3] // 不完全解构 k=1, l=2

上面的例子包含了数组解构时常用的基本用法

对象解构

接下来再让我们一起看看对象解构的基本用法:

let {a, b} = {a: 'aaaa', b: 'bbbb'} // a='aaaa' b='bbbb'let obj = {d: 'aaaa', e: {f: 'bbbb'}}let {d, e:{f}} = obj // 嵌套解构 d='aaaa' f='bbbb'let g;(g = {g: 'aaaa'}) // 以声明变量解构 g='aaaa'let [h, i, j, k] = 'nice' // 字符串解构 h='n' i='i' j='c' k='e'

使用场景

变量赋值

我们先来看最基本的使用场景:变量赋值,先来看我们在平时开发中是怎么使用es5对变量赋值的:

var data = {userName: 'aaaa', password: 123456}var userName = data.userNamevar password = data.passwordconsole.log(userName)console.log(password)var data1 = ['aaaa', 123456]var userName1 = data1[0]var password1 = data1[1]console.log(userName1)console.log(password1)

上面两个例子是最简单的例子,用传统es5变量赋值,然后调用,这么写的问题就是显得代码啰嗦,明明一行可以搞定的事情非要用三行代码,来看看解构赋值是怎么干的:

const {userName, password} = {userName: 'aaaa', password: 123456}console.log(userName)console.log(password)const [userName1, password1] = ['aaaa', 123456]console.log(userName1)console.log(password1)

相对于es5的语法是不是更加简单明了,在数据量越大用解构赋值的优势越明显

函数参数的定义

一般我们在定义函数的时候,如果函数有多个参数时,在es5语法中函数调用时参数必须一一对应,否则就会出现赋值错误的情况,来看一个例子:

function personInfo(name, age, address, gender) { console.log(name, age, address, gender)}personInfo('william', 18, 'changsha', 'man')

上面这个例子在对用户信息的时候需要传递四个参数,且需要一一对应,这样就会极易出现参数顺序传错的情况,从而导致bug,接下来来看es6解构赋值是怎么解决这个问题的:

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选