Block-Scoped Constructs Let and Const

在ES5中,块级作用域是起不了作用的:

function calculateTotalAmount(vip){
    var amount = 0;
    if(vip){
        var amount = 1;
    }
    {
        var amount = 100;
        {
            var amount = 1000;
        }
    }
    return amount;
}
console.log(calculateTotalAmount(true)); //1000

在ES6中,let限制块级作用域,var限制函数作用域

function calculateTotalAmount(vip){
    var amount = 0;
    if(vip){
        let amount = 1;
    }
    {
        let amount = 100;
        {
            let amount = 1000;
        }
    }
    return amount;
}
console.log(calculateTotalAmount(true)); //0

在ES6中,const设置一个不变量

function calculateTotalAmount(vip){
    const amount = 0;
    if(vip){
        const amount = 1;
    }
    {
        const amount = 100;
        {
            const amount = 1000;
        }
    }
    return amount;
}
console.log(calculateTotalAmount(true)); //0

results matching ""

    No results matching ""