ES6中变量的解构赋值

本文深入探讨了JavaScript中数组解构赋值的多种应用场景,包括变量交换、函数多值返回及Iterator接口的使用。同时,详细解析了模板字符串的功能,如多行字符串定义、变量嵌入及trim()方法的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组的形式解构赋值

模式匹配的方法进行赋值,对应位置必须对齐。(可以通过应用逗号实现)变量的取值由位置决定
①,如果变量多,后面的值无法对应(可以通过加逗号),二、如果值多,变量少,也会报错
②但是如果值多,或者变量多的情况发生在数组的最后的位置。则不报错,但最后多余的变量值为undefined,
③只要值为undefined则认为解构不成功

let [a,b,c]=[1,2,3];
//从数组中提取值,按照对应位置赋值。
console.log (a,b,c);//1,2,3
console.log ([a,b,c]);//数组
let x=[1,2,3];
console.log(x);//数组
let [aa,bb,[cc,dd],oo,...ll]=[9,0,[1,2],0,5,6,3];
console.log(aa,cc,dd,oo,ll);//9 1 2 0 (3) [5, 6, 3]

**④变量解构指定默认值,数组成员等于undefined,则默认值生效。如果是null就不会生效,**如下栗子:

 function f() {
  console.log('aaa');

 }
 let [y=f()]=[undefined];
 console.log(y);
 //结果输出:aaa

⑤如果指定的默认值,是表达式,则为惰性求值,在用的时候才会求值。结构赋值也可以引用其他变量
解构失败,变量的值为undefined

解构赋值的作用:

① 用来交换变量的值:

`let w=1,e=4,t=5; 
console.log(w,e,t);
[w,e,t]=[t,w,e]
 console.log(w,e,t);

②函数可以返回多个值
return [1,2,3]
Iterator接口.
部署了Iterator接口的对象都可以用for。。。of循环遍历

// $(’#result’).append(
// 'there are '+'itme is
// );

对象的解构赋值
let {foo:foo,bar:baz}={foo:"aaa",bar:"bbb"};

对象解构赋值的内部机制是先找到同名的属性再赋值给对应的变量
bar只是一个名字。最后得到的是baz:bar;

模板字符串

①做普通字符串,
②定义多行字符串,表示多行,或者空格都会被保留
③或者在字符串中嵌入变量
可加变量可不加,
${} 花括号里面可以是表达式,变量,也可以是函数的调用
④trim() 去除字符串头尾空格
//在谷歌中输出的数字是蓝色,字符串是黑色的,
⑤应用模板字符串输出的结果都是字符串

var b=0,y=5,x;
function sum(a,y){
    return x=a+6+y;
}
 console.log(`         i am a
  \`man             x=${sum(b,y)}   `.trim());
 console.log(`9990`);
var c="9999";

运行结果为
i am a
`man x=11

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值