数组和对象的结构
作者:互联网
数组的结构
单行结构
let [name,age,sex]=['Mr.Lee',100,'男'];
双行结构
let info=['Mr.Lee',100,'男']; //数组赋值 let [name,age,sex]=info; //数组结构赋值
数组层次需要匹配
let [name,[age,sex]]=['Mr.Lee',[100,'男']];用逗号做为占位符 不赋值
let [,,sex]=['Mr.Lee',100,'男'];...var语法,将没有赋值的内容都赋值给这个变量
let [name, ...other]=['Mr.Lee',100,'男'];
对象的结构
1 let obj={ 2 name:'Mr.Lee', 3 age:100 4 }; 5 let {name,age}=obj; 或 ({name,age}=obj); 6 7 let obj={ 8 name:'Mr.Lee', 9 age:100 10 },name='Mr.Wang'; //被替代 11 ({name,age}=obj); //用()不用get的原因,避免临时性死区对变量结构设置一个默认值 没有赋值时输出默认值
let obj={...} let {name,age,sex='女'}=obj;通过赋值的方式更改变量名
let {name:myname,age:myage}=obj; //name将失效 console.log(myname); console.log(myage);在对象字面量里,嵌套了对象 结构时也用相同的方法
1 let obj={ 2 name:'Mr.Lee', 3 age:100, 4 info:{ 5 id:1, 6 sex:'男' 7 } 8 }; 9 let {info:{id,sex}}=obj; 10 console.log(id); 11 console.log(sex);
简写模式
let {name,age}={name:'Mr.Lee',age:100};
常用的结构
如果函数的返回值是一个数组或对象,直接将函数进行赋值结构function fn(){ return ['Mr.Lee',100,'男']; } let [name,age,sex] = fn(); console.log(name); function fn2(){ return{ name:'Mr.Lee', age:100, sex:'男' }; } let [name,age,sex] = fn2(); //返回的是对象 console.log(name);当函数进行传参的时候,可以进行数组和对象字面量方式的传参;
1 function fn([name,age,sex]){ 2 console.log(name); 3 } 4 fn(['Mr.Lee',100,'男']); 5 function fn2([name,age,sex]){ 6 console.log(name); 7 }// 除了对象和数组可以使用结构,字符串类型已可以使用结构
1 let[x,y,z]='ABC'; 2 console.log(x); //A 3 4 let{length:len}='ABC'; //长度 5 console.log(len); //输出3
标签:name,对象,age,sex,Lee,let,数组,Mr,结构 来源: https://www.cnblogs.com/Nice0115/p/15601632.html