# Javascript: const let var >在學習的道路上,各個領域都會想精進一下,JS是一個前端工程師不可或缺的技能 >宣告變數的使用方式、型態更是基本中的基本。今天就要來分享一下傳統變數宣告 var 與 >JavaScript ES6 新的變數宣告方式 let 與 const 有什麼不同之處。 > >這邊用最簡單方式告訴各位 # 傳統變數宣告 var <h3>我使用vscode來做範例  最上面用x全域變數,在ES6推出後有區塊域的概念與let寫法,避免掉var汙染全域變數的副作用</h3> # ES6 優缺點 * 優點 * 解決ES5的BUG與不變之處 * 盡量避免汙染全域,維護性高,不會污染其他開發者 * 缺點 * 舊版瀏覽器問題:使用Babel + Gulp解決 </br> </br> # ES6 let 的特性 <h4> let 用來宣告區塊裡的變數,即區域變數,所謂{區塊}指的是{xxx} <= 裡面的東西 <br></br> 使用vscode舉例  上面成果,在console結果為1與0 首先第六行 **console.log(x)** 的結果為 1,因為 a 在第五行的時候,被重新賦予值為 1 最下面的 **console.log(x)** 的答案為何不是1 因為在 **btn(){xxx}** 裡面x只為存活在{} <= 大括號裡面 不會去改變外面x的值,因此第二個 **console.log(x)** 傳0的結果 </h4> # ES6 const 的特性 <h4>const 是唯獨變數(不能做修改),用在一些不能被跟改的變數 如:url網址,計算等等 <br></br> 有個例外,就是{物件}跟{陣列}會被變更,可以使用freeze()解決  如果拿掉會被更改  有哪些情況會想要使用 **freeze()** 通常是預設不想被其他東西干擾時候, 可以使用const與freeze (物件陣列)特性 </h4> # const let var 同個區塊 不能重複命名 <h4> 使用vscode來示範    在照片看的出來,使用let const 會顯示x被賦予值 var 可以重新被賦予新的值 </h4> # 總結 在ES6推出之後,寫JavaScript時可以使用let與const 這麼做除了逼免var會汙染到全域,也可以增加代碼的解讀性, 看到const宣告變數時,就知道這個是變數不能做改變的# Javascript: const let var >在學習的道路上,各個領域都會想精進一下,JS是一個前端工程師不可或缺的技能 >宣告變數的使用方式、型態更是基本中的基本。今天就要來分享一下傳統變數宣告 var 與 >JavaScript ES6 新的變數宣告方式 let 與 const 有什麼不同之處。 > >這邊用最簡單方式告訴各位 # 傳統變數宣告 var <h3>我使用vscode來做範例  最上面用x全域變數,在ES6推出後有區塊域的概念與let寫法,避免掉var汙染全域變數的副作用</h3> # ES6 優缺點 * 優點 * 解決ES5的BUG與不變之處 * 盡量避免汙染全域,維護性高,不會污染其他開發者 * 缺點 * 舊版瀏覽器問題:使用Babel + Gulp解決 </br> </br> # ES6 let 的特性 <h4> let 用來宣告區塊裡的變數,即區域變數,所謂{區塊}指的是{xxx} <= 裡面的東西 <br></br> 使用vscode舉例  上面成果,在console結果為1與0 首先第六行 **console.log(x)** 的結果為 1,因為 a 在第五行的時候,被重新賦予值為 1 最下面的 **console.log(x)** 的答案為何不是1 因為在 **btn(){xxx}** 裡面x只為存活在{} <= 大括號裡面 不會去改變外面x的值,因此第二個 **console.log(x)** 傳0的結果 </h4> # ES6 const 的特性 <h4>const 是唯獨變數(不能做修改),用在一些不能被跟改的變數 如:url網址,計算等等 <br></br> 有個例外,就是{物件}跟{陣列}會被變更,可以使用freeze()解決  如果拿掉會被更改  有哪些情況會想要使用 **freeze()** 通常是預設不想被其他東西干擾時候, 可以使用const與freeze (物件陣列)特性 </h4> # const let var 同個區塊 不能重複命名 <h4> 使用vscode來示範    在照片看的出來,使用let const 會顯示x被賦予值 var 可以重新被賦予新的值 </h4> # 總結 <h4> 在ES6推出之後,寫JavaScript時可以使用let與const 這麼做除了逼免var會汙染到全域,也可以增加代碼的解讀性, 看到const宣告變數時,就知道這個是變數不能做改變的 用圖片的範例比較多,可以增加讀者方便閱讀 謝謝~ </h4> ###### tags: `ES6` `javascript`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up