解构赋值(变量赋值)
解构赋值和变量赋值没有区别
解构的真正含义是:结构分解(拆解)
解构赋值的侧重点在于数组和对象(引用类型的赋值优化)
先看一组例子
let arr = ["秋刀鱼","瞪眼鱼"];
name1 = arr[0];
name2 = arr[1];
console.log(name1,name2);
//解构赋值在下,变量赋值在上
[name1,name2] = arr;
console.log(name1,name2);
就是在调用数组的元素时,有两种方法,第一种是直接调用(变量赋值),第二种就是解构赋值
[分解] = [结构],可以把箭头改成等于,毕竟是赋值,赋值就要用赋值号
如图,结构分解(拆解)的意思是指,以等号右边为结构,等号左边继续分解成多个部分
把右边的结构分解成左边的元素
0123是右边的结构,ele1对应的是0,ele2对应的1,ele3对应的23
疑问一:怎么把23拆解成元素ele3?
通过展开语法
let arr = ["天青色","等烟雨","而我在","等你"];//结构为4
[name1,name2,...name3] = arr;//拆解成图片种的三个元素
console.log(name1,name2,name3);
问题二,可以把前面的指拆解成一部分,后面的拆解成一部分吗
答案,不行,前面的拆解相当于对整体的展开,那么后续的拆解元素就会报错(虽然报错在前面)
报错原因就是上面那句(其余元素必须在解构模式中位于最后)
疑问三,我只想取其中一个值呢
用一个逗号隔开
还有一点,那就是注意赋值的重点
变量赋值的过程如果不注意容易产生全局污染,全局污染包括变量抬升,声明关键词忘记写
直接使用解构赋值和直接使用变量是没区别的,但是代码长了就出问题了,如果在严格模式下,没写声明关键词,是会报错的"use strict"
无论是在写解构赋值还是变量赋值都要注重声明关键词的书写
公式:声明关键词 x = y ;
切记,养成一个良好的书写格式,一个变量一个声明,一句话的结束用;
展开语法就像一把伞一样,在赋值的时候是收着的,在用的时候打开的
大白话就是左边是收着,右边是打开,很形象!
收着,把数组结构拆解成一组收起来,展开(打开)把收起来的数组展开
总结:
解构赋值是在变量赋值的基础上迭代出了针对性(引用类型)ps:目前还在数组篇
掌控好结构与拆解就能更好的了解解构赋值
展开语法的进阶使用,展开语法如同一把伞,配合上解构赋值有妙用
一个关键词概括这篇文字,那就是赋值,怎样的赋值,两种,一种为解构,一种为变量
给什么赋值,前者给引用,后者全部,赋值注意的点!
切记,养成一个良好的书写格式,一个变量一个声明,一句话的结束用;
切记,养成一个良好的书写格式,一个变量一个声明,一句话的结束用;
切记,养成一个良好的书写格式,一个变量一个声明,一句话的结束用;