ES6中的let const命令

2021-09-26 10:52:32 字數 741 閱讀 2487

a // referenceerror: a is not defined.

b // 1

a是區域性變數,b是全域性變數,a在外不生效

// var 的情況

console.log(foo); // 輸出undefined

var foo = 2;

// let 的情況

console.log(bar); // 報錯referenceerror

let bar = 2;

var宣告的變數會有變數提公升的效果,即使未賦值還是會宣告,let沒有,在宣告之前讀取就會報錯

var tmp = 123;

if (true)

如果在宣告之前給變數賦值或者在之前檢視變數的型別都會報錯

function func(arg) 

func() // 報錯

function func(arg)

}func() // 不報錯

上圖,函式引數已經宣告"arg"的變數,函式裡再次宣告就會報錯

}}}};

這樣每個層級都會有乙個作用域,並且互不影響,很方便我們定義各種變數

一般用來定義常量,定義後,常量的值不可改變,改變就會報錯~所以一旦宣告常量就得賦值,不然就會報錯…

其他用法就和let是差不多的

ES6系列之 let const命令

今天講解比較簡單,主要學習es6的let和const。讓大家牢固一下基礎知識。在講解之前讓我們先來了解乙個知識點 什麼叫做塊級作用域?名稱 含義塊級作用域 任何一對花括號中的語句集都屬於乙個塊,在這之中定義的所有變數在 塊外都是不可見的 for var i 0 i 10 i console.log ...

es6中let const與var的區別

1 let是es6新增的宣告變數的方式 1 作用域是塊級作用域 2 不存在變數提公升 3 不能重複定義,否則會報錯 4 存在暫時性死區 在宣告之前引用的話會產生死區 2 const 用來宣告常量,且宣告的常量是不允許改變的 否則會報錯 唯讀屬性,因此就要在宣告的同時賦值。const與let一樣,都是...

ES6中let const和var的區別

一,var定義的變數,作用域是整個封閉函式,是全域的 let定義的變數,作用域是在塊級或者字塊中 二,變數提公升 不論通過var宣告的變數處於當前作用於的第幾行,都會提公升到作用域的最頂部。而let宣告的變數不會在頂部初始化,凡是在let宣告之前使用該變數都會報錯 引用錯誤referenceerro...