Js-var、let、const
By Elaine Liu
- One minute read - 60 wordslet,var,const 有什麼差別?
1.早期 Js 只有var
,只到 ES6(ES2015)時,才加入了 let
跟 const
2.在作用域上,var
可以是全域,也可以是函式做為範圍。
- var 在全域中有可能造成全局汙染
var greeting = 'hello'
window.greeting //"hello"
3.let
和 const
則是以區塊作為範圍。
4.var
可以被重複宣告,但是 let
和 const
不行。
var hello = 'goodmorning'
var hello = 'byebye'
//var 可以重複宣告
let greeting = 'hello!'
let greeting = 'byebye'
//let不能重複宣告
let greeting = 'hello!'
greeting = 'byebye'
//let可以重新賦值
5.let
可以重新賦值,但是const
是常數,不能重新賦值。
賦值差異
如果變數是原生值,例如字串、數字…..,則不可改變。
如果變數是物件(objects),則不論 let
和 const
都可以改變該物件。