ES6常变量关键字

2018-11-15  本文已影响0人  箩篼

ES6之前如何定义变量

var num;
    var num = 123;
    var num = 456; // 后定义覆盖先定义
   console.log(num); // 由于会预解析, 所以输出undefined
    var num = 123;
  /*
    预解析过程:
    var num;
    console.log(num);
    num = 123;
     */

ES6之后如何定义变量

let num;
let num = 123;
let num = 456; // 报错,不允许重复定义
console.log(num);
let num = 123; // let定义的变量不会预解析,会报错:num is not defined

ES6新增的定义常量的关键字

const num = xxx;
const  num = 123;
num = 456;  //报错
const num;
num = 123;  //报错,应该定义的同时初始化
const arr = [1, 3];
// arr = [2, 4]; // 改变指向 ,报错
arr[0] = 666; // 指向内存中保存的数据可以改变
arr.push(777);
console.log(arr);  // [666, 3, 777]

ES6Z之前没有代码块的概念,ES6语法有代码块的概念

    {
        var num = 123;
        console.log(num);  //123
    }
    console.log(num);  //123
    {
        let num = 123;
        console.log(num);  //123
    }
//常量一样
    console.log(num);  //  报错 num is not defined
    {
        const num2 = 123;
    }
    // console.log(num2);  //报错 num2 is not defined
上一篇 下一篇

猜你喜欢

热点阅读