ES6__变量的解构赋值

/*
 变量的解构赋值
*/

/*
基本概念 :
    本质上就是一种匹配模式,只要等号两边的模式相同,那么左边的变量就可以被赋予对应的值。
结构赋值主要分为:
1. 数组的解构赋值
2. 对象的结构赋值
3. 基本类型的结构赋值
*/
//1. 数组的解构赋值
// let a = 1;
// let b = 2;
// let c = 3;
// let [a,b,c] = [1,2,3];
// console.log(a,b,c)   1 2 3

// let [a,[[b],c]] = [1,[[2],3]];
// console.log(a,b,c); // 1 2 3

//let [,,c] = [1,2,3];
//console.log(c) //3

// let [x] = [];
// console.log(x); //let x; undefind

// let [y = 1] = [];   默认值
// console.log(y); // 1


//2.对象的解构赋值
// let {a,b} = {b:'bbb',a:'aaa'};
// console.log(a,b)

// let {a:b} = {a:1};
// console.log(b); 1
// console.log(a);  undefind

//3.基本类型的解构赋值
// let [a,b,c,d] = '1234';
// console.log(a,b,c,d); // 1 2 3 4

// let {length:len} = 'mingxiao';
// console.log(len); // 8 

// let {toString:ts} = 1;
// let {toString:bs} = true;
// console.log(ts === Number.prototype.toString); // true
// console.log(bs === Boolean.prototype.toString); //true

// null 和 undefind  不能进行解构赋值
// let [a] = null;

 

posted @ 2018-04-09 14:26  晓之殇  阅读(184)  评论(0编辑  收藏  举报