测试
    1.1、
    a = 2
    let {a} = a;
    image.png
    注:分开输入image.png
    其余表现与一起输入相同
    image.png
    1.2、
    a = {F: 1}
    let {a} = a;
    image.png
    1.3、
    a = {a: 2}
    let {a} = a;
    image.png
    测试结果:a变为 未定义,此时通过var与const不能重新进行赋值,通过let可以重新赋值(三种情况都是)
    image.png
    而未使用let结构时,a是有值的, 且可以通过var、 let、 const赋值
    image.png
    image.png
    image.png
    image.png

    2.1、
    var a = 2
    let {a} = a;
    image.png
    可以发现此时a变为未定义
    注:分开输入image.png
    可以发现此时a未变为为定义
    2.2、
    var a = {F: 1}
    let {a} = a;
    image.png
    2.3、
    var a = {a: 2}
    let {a} = a;
    image.png
    测试结果:a变为 未定义,此时通过var、const、let可以重新赋值(三种情况都是),

    3.1、
    let a = 2
    let {a} = a;
    3.2、
    let a = {F: 1}
    let {a} = a;
    3.3、
    let a = {a: 2}
    let {a} = a;

    4.1、
    const a = 2
    let {a} = a;
    4.2、
    const a = {F: 1}
    let {a} = a;
    4.3、
    const a = {a: 2}
    let {a} = a;

    switch(testNumber) {
    case 1:
    a = 2
    console.log(1)
    break;
    case 2:
    a = {F: 1}
    console.log(1)
    break;
    case 3:
    a = {a: 2}
    console.log(1)
    break;
    case 4:
    var a = 2
    console.log(1)
    break;
    case 5:
    var a = {F: 1}
    console.log(1)
    break;
    case 6:
    var a = {a: 2}
    break;
    case 7:
    let a = 2
    break;
    case 8:
    let a = {F: 1}
    break;
    case 9:
    let a = {a: 2}
    break;
    }
    let {a} = a;