继续尝试纪录~
尽量在本週看完Vue的教学,并且週末前完成Vue的作业吧~
下週就能更积极的找工作来着阿~喵~
阵列解构:
将阵列用变数对应的方式进行解构,若变数的数量有所不同,也会按照顺序进行赋值,中间若有空的变数(一样用逗号隔开),那后面的一样会以有计算空的变数的顺序进行。
let family = ['0', '1', '2', '3', '4'];let [a,b,c,d,e] = family;//这样的话abcde就会对应01234的值let[e,f,g]= familylet[h,i,j,k,l,m]= family//这样的话efg会对应前三个值,//hijklm因为变数多于阵列的值,所以最后面的m会回传undefinedlet[n,,o,p,q]= family这样的话nopq会依序带入0234的值,跳过第二项的1
交换赋值:
透过将变数直接组成阵列进行对应交换,可以让其中的值也交换。
let Goku = '悟空';let Ginyu = '基纽';[Ginyu,Goku]=[Goku,Ginyu];console.log(Goku,Ginyu);//这样的写法就可以让两个变数交换值
字串拆解:
可以用这样的方式去拆解字串
let str = '基纽特攻队';let[a,b,c,d,e]=str;console.log(a,b,c,d,e);//可以用这样解构赋值得方式来拆解字串,abcde会对应基纽特攻队五个字
以上大多是用阵列进行解构。
物件解构:
用物件进行解构,以下的大概可以解释为:
let ( 要被取出的物件中要被取出的属性 , 该属性对应的值要被赋予到的变数名称 ) = 要被取出的物件名称
我流就是绕口~讚
let GinyuTeam = { Ginyu: '基纽', Jeice: '吉斯', burter: '巴特', } let{Ginyu:Goku} = GinyuTeam; console.log(Goku);//Goku的值就会是'基纽'
预设值:
在设置变数与某阵列或物件进行映射前,先行为变数安排一个预设值
let [ming = '小明', jay = '杰伦'] = ['阿明'] // 第一个会被赋值,第二个会用预设console.log(ming,jay);//第一个ming会等于阿明,jay则会等于预设的杰伦
undefined 跟 not defined:
单以在JS中的我流理解,
undefined 是指变数已经存在,但未赋值的状况,undefined也算是一种值,所以不会log的时候不会直接红字报错
not defined 则是连变数都尚未创造,更不用谈有无值的问题