let 與 const 的區別

2021-09-26 14:27:45 字數 1313 閱讀 8205

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 報錯,因為...