ES6————let和const命令

let 命令

基本用法

ES6 新增了let命令,用來聲明變量。它的用法相似於var,可是所聲明的變量,只在let命令所在的代碼塊內有效。javascript



{ let a = 10; var b = 1; } a // ReferenceError: a is not defined. b // 1

不存在變量提高

var命令會發生」變量提高「現象,即變量能夠在聲明以前使用,值爲undefined。這種現象多多少少是有些奇怪的,按照通常的邏輯,變量應該在聲明語句以後才能夠使用。java

爲了糾正這種現象,let命令改變了語法行爲,它所聲明的變量必定要在聲明後使用,不然報錯。函數

// var 的狀況 console.log(foo); // 輸出undefined var foo = 2;  // let 的狀況 console.log(bar); // 報錯ReferenceError let bar = 2;

let不容許在相同做用域內,重複聲明同一個變量。spa

// 報錯 function func() { let a = 10; var a = 1; }  // 報錯 function func() { let a = 10; let a = 1; }

所以,不能在函數內部從新聲明參數。code

function func(arg) { let arg; // 報錯 } function func(arg) { { let arg; // 不報錯 } }
相關文章
相關標籤/搜索