您的位置:首页 > 其它

es6 学习笔记 之 变量声明 和 变量的 解构赋值

2017-12-28 11:27 926 查看
// 1. 变量声明
// var 全局变量

var a="aaa";
window.onload= function(){
console.log(a);      //aaa
}

var a=2;
{
var a=3;
}
console.log(a);        //3

// let局部声明
var a=2;
{
let a=3;
}
console.log(a);   // 2

{
let a=3;
}
console.log(a);   // 报错

//  const声明常量
const a="aaa";
var a='bbb';
console.log(a);    // 报错  const 常量不可以更改


// 2. 变量的 解构赋值
// 数组 的解构赋值
let [a, b, c] = [0, 1, 2];
console.log(a);   // 0
console.log(b);   // 1
console.log(c);   // 2
// 等价于
let a=0;
let b=1;
let c=2;

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

// 左右两端 结构要一直  不然 报错

// 默认值
let [foo = true] =[];
console.log(foo); //控制台打印出true

// 当右侧  是 undefined   则 默认值 起作用

let [a,b="bbb"]=['aaa']
console.log(a+b); //aaabbb

// 对象解构

let {foo, bar} = {foo: 'foo', bar: 'bar'};
console.log(foo);   // foo
console.log(bar);   // bar

// 数组解构是 按照顺序 解构的
// 对象的 解构 是 按照 key 值  解构的

// 如果 先声明 变量  再解构  则 需要 用 ()
let foo;
({foo} ={foo:'foo'});
console.log(foo); //控制台输出foo

// 字符串解构
let [a, b, c, d, e] = "string";
console.log(a);    // s
console.log(b);    // t
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  es6 变量 解构赋值