1、字符串也可以进行解构赋值
形成一个类似于“数组”的对象。
案例1-1:简单的字符串(类似于“数组”)
<script type="text/traceur"> const [a,b,c,d,e] ="Hello"; console.log(a); //H console.log(b); //e console.log(c); //l console.log(d); //l console.log(e); //o </script> 解析:将字符串“Hello”作为一个类似于数组的值进行解构赋值,
a、b、c、d、e分别作为数组的几个下标值,依次进行输出。
案例1-2:字符串长度length(类似于“对象”)
<script type="text/traceur"> const {length:len} = "Hello"; console.log(len); //5 const {length} = "Hello World!"; console.log(length); //12 </script> 解析:对于属性解构赋值,字符串类似于数组的对象,都有一个length属性,
即表示可以对这个属性进行解构赋值。
2、函数参数解构赋值
对于函数的参数,也可以有解构赋值,同时对于函数参数的解构赋值,还可以使用默认值。
案例2-1:函数参数的解构赋值
<script type="text/traceur"> function sum([x,y]){ return x+y; }; console.log(sum([1,2])); //3 </script> 解析:由于平时传入的参数x,y作为变量进行传入,加上“[ ]”表示以一个数组的形式进行传入参数,在调用函数的同时也是同样。
案例2-2:函数参数解构赋值的默认值
<script type="text/traceur"> function fun({x=0,y=0}={}){ return [x,y]; }; console.log(fun({x:100,y:200})); //[100,200] console.log(fun({x:100})); //[100,0] console.log(fun({})); //[0,0] console.log(fun()); //[0,0] </script>
案例2-3:函数参数解构赋值的默认值undefined
<script type="type/traceur"> function fun({x,y} = {x:0,y:0}) { return [x,y]; }; console.log(fun({x:100,y:200})); //[100,200] console.log(fun({x:100})); //[100,undefined] console.log(fun({})); //[undefined,undefined] console.log(fun()); //[0,0] </script>
