let命令,用來宣告變數時和var類似,但是只在let命令所在的**塊內有效,而var 是全域性有效。
a // referenceerror: a is not defined. 報錯,說明let宣告的變數只是在**塊內有效
b // 2
for (let i = 0; i < 3; i++)
console.log(i);//referenceerror: i is not defined 報錯
// var 的情況
console.log(aa); // 輸出undefined
var aa= 2;
// let 的情況
console.log(bb); // 報錯referenceerror
let bb= 2;
// 報錯
function ()
// 報錯
function ()
function func(arg)
function func(arg)
}
if (true)
在let命令宣告變數tmp之前,都屬於變數tmp的「死區」。
宣告乙個唯讀的常量。一旦宣告,常量的值就不能改變。這意味著,const一旦宣告變數,就必須立即初始化,不能留到以後賦值。
const pi = 3.1415;
pi // 3.1415
pi = 3;
// typeerror: assignment to constant variable.
const的作用域與let命令相同:只在宣告所在的塊級作用域內有效。
if (true)
max // uncaught referenceerror: max is not defined
const命令宣告的常量也是不提公升,同樣存在暫時性死區,只能在宣告的位置後面使用。
if (true)
上面**在常量max宣告之前就呼叫,結果報錯。
const宣告的常量,也與let一樣不可重複宣告。
var message = "hello!";
let age = 25;
// 以下兩行都會報錯
const message = "goodbye!";
const age = 30;
var與const與let之間的區別
在es6下改var 為 let 或者 const var可以完全替換成 let 需要注意的是 let 與 const 區別並不大,let 是變數,const 是常量。只要定義的不會改變就用 const es6新增let和const兩個變數宣告命令,他們都具有如下特性 1 塊局作用域 2 不存在變數提...
let和const的區別
let和const的區別 let與const都是只在宣告所在的塊級作用域內有效 let用來定義變數,無論是不是嚴格模式下,宣告未初始化的時候,都不會報錯,和var作用一樣,返回undefined const用來定義常量,而且宣告時必須初始化,否則報錯 const不能修改定義的常量的值 但是可以修改常...
let和const的區別
let與const都是只在宣告所在的塊級作用域內有效。let宣告的變數可以改變,值和型別都可以改變,沒有限制。const宣告的變數不得改變值,這意味著,const一旦宣告變數,就必須立即初始化,不能留到以後賦值。const a 報錯,一旦宣告變數,應該立即賦值!const b 2 b 3 報錯,因為...