本文目錄一覽:
JavaScript ES6中var,let,const分別什麼時候使用
var——聲明變量
let——聲明塊中的變量
const——聲明常量(一旦賦值不可更改)
function varTest() {
var x = 1;
if (true) {
var x = 2; // same variable!
console.log(x); // 2
}
console.log(x); // 2
}
function letTest() {
let x = 1;
if (true) {
let x = 2; // different variable
console.log(x); // 2
}
console.log(x); // 1
}
參考資料:
var、let、const三者之間的區別和聯繫有哪些?
var 是es5之前當然之後也可以這麼寫的寫法!
es5之後又細分出了let(變量)const(常量)這兩種類型。
但是const的出現也表示js腳本開始走向類如java,c#那種重型語言的編寫方式,明確細分了常量和變量。
然後let對比var都是變量(var沒有變量常量一說,但ES5之後其行為與let類似),但是,var和let有很大區別,簡單理解就是作用域變了,如果你學過後端語言的話,你會知道,使用變量需要先聲明在賦值後使用的流程,let繼承了這種流程,而var沒有,在代碼里的體現就是,let只在定義它的上一個大括號內及其所有子方法體起作用,比如方法中定義let則出了這個方法就沒法使用到這個let,同級別的兩個方法,可以各自定義一個同名let變量。
其實說起來,你可能沒有感覺,因為你用var的時候可能也是這麼用的,但是let是被嚴格約束可以這麼用,而var其實是無約束的,在某些時候是亂竄。也就是你看到的是你想看的,但它裡面的運行不是你所想的!簡單來說,var的作用域是混亂的,同父子作用域下var可以被多次定義。而let不能!
const也是繼承了後端的常量思想,一旦定義,無法被修改,也不能被修改,也不應該被修改,如果你想改變以上3條中的任何一條,都不要使用const!所以const一般用於存儲固定不變的內容,比如系統信息里的名字啊,系統風格啊,審批號啊之類的,不是不能變,而是應該通過人為干預手寫的方式來改變其值,不能不應通過代碼的方式來賦值(初值除外)!
js const定義函數?
const用來定義常量的,初始化之後不能修改,let定義變量的,初始化之後還可以被修改
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/242448.html