【ES6總結】

let const 總結

let const 不會污染全局變量 不會聲明到window上
let a=1;
console.log(window.a)//undefind
複製代碼
let const 不存在變量提高 (他所聲明的變量必定要在聲明後使用,不然報錯)
a=1;
let a=2;//報錯
複製代碼
let const 不容許在用一個做用域中重複聲明同一個變量
let b=1;
let b=2;//報錯
複製代碼
塊級做用域 ES5中沒有塊級做用域,只有全局做用域和函數做用域
{
    let a =1
    console.log(a)
}
    /* 在兩個做用域中聲明的 因此不會報錯 */
{
    let a=2;
    console.log(a)
}
複製代碼
let 定義的變量值 是能夠被改變的
let a =1; 
a=2 ;
console.log(a)
複製代碼
const聲明的一個常量是 值是不能夠改變的(地址不變便可),可是若是存儲的是一個地址 指向對象,能夠改變對象裏的內容
const num=1;
num=2;//報錯   不能夠修改
console.log(num)
const obj ={a:1}
//obj=[];//報錯
obj.a=2
console.log(obj)
複製代碼
若是真的想將對象凍結,應該使用 Object.freeze方法
const foo = Object.freeze({});
//常規模式下,下面一行不起做用
//嚴格模式下,改行會報錯
foo.prop = 123; 
複製代碼

未完待續bash

相關文章
相關標籤/搜索