let,const,var定義變數的區別?

2022-10-08 16:33:26 字數 559 閱讀 2778

一,作用域

const和let:沒有變數提公升,且定義的變數只在let命令所在的**塊生效,在定義之前使用,會報錯

var :變數會被提公升,在全域性範圍內都有效,且可在變數定義之前使用

二、重複宣告

const和let:在同一作用域內,不允許重複宣告同乙個變數

var:允許重複宣告

三、賦值

let 和var:可以只宣告,不賦值

const:只能定義乙個唯讀的常量,定義後不能再改變,不允許只宣告不賦值

需要注意的是,對於物件、陣列等資料型別,const定義儲存的只有資料的指標,所以資料結構是可變的

四、適用場景

1.為了安全,大部分情況下var可以用let來替代,尤其是for迴圈中定義迴圈變數,使用let可以避免變數汙染

2.定義常量就使用const

3.有些老版本的瀏覽器不相容let和const,就只能用var

js系列 let,const,var定義變數

js是弱型別語言,即值決定變數的型別 命名規範 變數名以字母 開始,後跟字母 數字 不能使用關鍵字 比如true if while class等。不加宣告符 web monkey var宣告符 var web monkey let宣告符 let web monkey const宣告符 cont we...

Let,const,var 定義的變數都有什麼區別

let 和 var 的區別 1.var 存在變數提公升,let 不存在 let console.log c uncaught referenceerror cannot access c before initialization let c 100 var console.log c underf...

let const var 宣告變數

let const 是es6新增的用來宣告變數的命令。塊級作用域也是es6新增的 作用域是什麼 簡單理解的話,就是變數與函式的可訪問範圍 作用域的分類 全域性作用域 函式作用域 區域性作用域 塊級作用域 塊級是什麼 塊級就是 大括號裡面的 塊 塊級作用域 塊級作用域由 包裹,if 語句和for語句裡...