首页 > 编程知识 正文

es6数组新特性,es6的解构赋值

时间:2023-05-03 10:43:41 阅读:146415 作者:654

数组赋值的基本使用:1.需要初始化

2 .在解构中可以忽略一些项目

3 .交换两个变量的值

letarr=[ 1,2,3 ] let [ a,b,c]=arr; //console.log(a,b,c )初始化//输出:1 2 3、多层嵌套获取内层数据时let [,d,]=arr的最佳//几个值可以忽略,但占位符connone [x,y]=[y,x]; //改变位置的console.log(x,y ); //输出:2 1使用默认值1 .如果指定位置的项目不存在,则传递空数组时为undefined

2 .指定位置的值必须为undefined,xndbh必须不是undefined、==、null。 (将默认值分配给变量

如果不使用默认值,而是将空数组分配给解析数组:

let arr1=[]let [i,j]=arr1; 控制台. log (I,j ); 如果要输出未定义的未定义的并使用默认值:

let arr1=[]let [i=10,j=20]=arr1; 控制台. log (I,j ); 如果传递了//输出1020null,则不会触发默认值,仅当未传递/undefined时

let arr1=[null]let [i=10,j=20]=arr1; 控制台. log (I,j ); 输出空值20,j值主体为undefined,活动默认值对象赋值基本上需要使用1 .进行初始化

2 .赋值时使用构造赋值

3 .求解赋值表达式的值是表达式右侧的值

小知识点:

let name=' ccy ' letobj={ name : name }; 控制台. log (obj; 其中,name: name的第一个name是字符串,第二个name是变量名称,但可以缩短为:

let name='ccy'let obj={ name}; 控制台. log (obj; 效果匹配,输出都是一个对象,其中具有name属性,值为' ccy '

以及解构对象的基本使用示例:解构变量定义的同时初始化

let obj={ name: 'ccy ',age: 10,}; let {name:name1,age:age1}=obj; 初始化//console.log (age 1,age1); //输出: ccy 10//或//let {name,age}=obj; //同样,首先定义name和age,查找等号右侧是否有与name和age匹配的属性名称,然后分别赋值//console.log(name,age )。 //输出: ccy 10 当解构对象的定义与初始化分开时将左边部分识别为对象需要在赋值语句中加括号,左右两侧带等号以构成表达式

否则,它只能被视为两个代码块,而不能在两个代码块之间赋值

let obj={ name: 'ccy ',age: 10,}; let name,age; {name:name1,age:age1}=obj; 控制台. log (name 1,age1); //输出: ccy 10 解构赋值表达式的值是表达式右侧的值

console.log({}=obj; 输出//obj对象的情况2 :可以将构造对象传递给函数,也可以在函数之间使用构造定义的变量

functionfn(value ) console.log (名称,age ); //输出: ccy 10控制台. log (value ); 输出//obj对象}fn({name,age}=obj ); 使用默认值与数组分析的默认值相同,如果指定的值严格为undefined,则使用默认值

要混合数组构造和对象构造,只需记住模式匹配。 等号的左边和右边,嵌套在哪里,使用数组或对象,都一一对应

let [a,b,[c,d ] ]=[ 1,2,[ 3,4 ]; 控制台. log (a、b、c、d ); let {nums:[a,b,c ] }={ nums : [ 1,2,3 ]; console.log(a,b,c );

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。