ES6学习笔记

2018-01-19  本文已影响0人  浪子归何处

let和const

function test(){

    //let a = 1;

    //console.log(a)

    for(let i=1;i<3;i++){

    console.log(i)//正常打印

    }

    console.log(i)//报错

}

test()

let只在块作用域里面有效,ES6强制开启严格模式,变量未声明不能引用!切不能重复声明一个同名变量。

const声明常量。声明即赋值,切不能再次赋值!这句话只适用于赋值的是一个非引用类型,如果const声明的常量为一个引用类型,如object,array,则可以修改值本身。例如:const obj = { a:2}, obj.a =1,这样是可以修改的!

结构赋值

左边一个结构,右边一个结构,左右一一对应,进行赋值。如果结构赋值在结构上没有配对成功,则变量就为undefined

数组结构赋值:左右都是数组。

{
    let a,b,rest;
    [a,b] = [1,2]
    let n,m,k;
    [n,m,...k] = [1,2,3,4,5,6]
    n=1,m=[2,3,4,5],k=6
}

{

    let a,b,c

    [a,b,c=3]=[1,2]

    现在a=1,b=2,c=3,如果c没有给默认值则为undefined

}

{

    let a=1;

    let b=2;

    [a,b]=[b,a]

}

{

    function f(){

     return [1,2]

    }

    let a,b

    [a,b] = f()

}

对象结构赋值:左右都是对象。

{
    let a,b;
    ({a,b}={a:1,b:2})
}

{

    let metaData = {

        title:'abc',

        test:[{

            title:'test‘,

            desc:'description'

        }]

    }

    let {title:esTitle,test:[{ title:cnTitle}]} = metaData;

    esTitle = 'abc'  cnTitle = 'test'

}

字符串结构赋值:左边是数组,右边是字符串。

布尔值结构赋值:对象结构赋值的一种

数值结构赋值:对象结构赋值的一种

函数参数结构赋值:数组结构赋值在函数参数的一种应用。

正则表达式扩展

字符串扩展

上一篇下一篇

猜你喜欢

热点阅读