用來聲明變量,可是所聲明的變量只在let
命令所在的代碼塊內有效javascript
{
let a=12
alert(a)//12
}
alert(a)//報錯 找不到
let不像var那樣會發生變量提高,因此必定要先聲明後使用。java
console.log(foo); //undefined console.log(bar); //報錯 var foo = 2; let bar = 3;
let不容許在相同做用域內重複聲明同一個變量。ui
let a=12;
let a=5;//報錯
console.log(a)spa
const
一樣能夠建立塊做用域變量,一樣只在聲明所在的塊級做用域中有效。但其值是固定的,不可更改,只讀。code
{
const a=12;
alert(a);//12
}
alert(a)//報錯ip
一旦聲明變量,就必須當即初始化,不能留到之後賦值。作用域
//只聲明不賦值就會報錯 const foo; //報錯
const和let同樣沒有變量提高,一樣不能重複聲明。io