ES6中变量的解构赋值

ES6 专栏收录该内容
3 篇文章 0 订阅
数组的形式解构赋值

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

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

The Nutcracker

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值