js中let const var 的用法和區別

2021-10-13 22:22:34 字數 828 閱讀 4646

1、 使用作用域在塊級作用域中有效

let num =10;

if(true

)console.

log(num)

;

輸出結果: 20 10

let 具有塊級作用域有效的特性,所以if內的num是20,if外的num值是10。

2、不存在變數提公升

console.

log(num)

;let num =

0;

報錯:uncaught referenceerror: cannot access 『num』 before initialization

let一定要先定義,後使用。

3、具有暫時性死區特性

var num =10;

if(true

)

報錯:uncaught referenceerror: cannot access 『num』 before initialization

哪怕前面已有var定義的全域性變數num,但在if的塊級作用域下有使用let定義,就具有let的所有特性。

宣告常量,常量就是值(記憶體位址)不能變化的量

1、具有塊級作用域

2、定義時必須賦值(因為是常量)

3、賦值後值不可修改

varlet

const

函式作用域

塊級作用域

塊級作用域

變數提公升

不可變數提公升

不可變數提公升

值可以修改

值可以修改

值不可修改

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 的區別有哪些?

在es5中,宣告變數只有var和function兩種形式。但是因為var宣告的變數會有一定的缺點 內層變數可能覆蓋外層變數的問題以及用來計數的迴圈變數洩露為全域性變數,下面會有詳細的介紹 es6提出了使用let和const宣告變數,下面就來看看他們之間的區別。1,什麼時候提出的?var是es5提出的...

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

一,作用域 const和let 沒有變數提公升,且定義的變數只在let命令所在的 塊生效,在定義之前使用,會報錯 var 變數會被提公升,在全域性範圍內都有效,且可在變數定義之前使用 二 重複宣告 const和let 在同一作用域內,不允許重複宣告同乙個變數 var 允許重複宣告 三 賦值 let ...