# 【Day3】var、let、const宣告變數 ###### tags: `JavaScript` `14th鐵人賽` 本篇將介紹JavaScript三種變數宣告的差異 - 如何宣告變數 - 變數宣告特性 - 駝峰式命名 - 三者差別 --- ## 如何宣告變數 var 變數名稱 = value; let 變數名稱 = value; const 變數名稱 = value; 分號為中斷程式碼並可接續下段程式 ```jsx let a = 1; // 用let宣告一個變數名稱為a,並賦予值為1 ``` ## 變數宣告特性 - 可接受英文大小寫、中文 、_組合 - 開頭不可使用數字 - 英文大小寫有分 - 宣告變數時,不可使用 “保留字” 可參考w3schools文件,ex:不使用false、function、var……等作為變數名稱 [JavaScript的保留字傳送門](https://www.w3schools.com/js/js_reserved.asp) 以下為宣告的範例 ```jsx let aA小狗$_ = 1; //可使用的內容 let aaa1 = 2; // 變數名稱可包含數字 let 1aaa = 3; // 開頭為數字錯誤 let dogNum = 4; let dognum = 5; //dogNum、dognum 兩者字母相同但大小寫不同在讀取時就會是兩個不同的值 let function = 6; // function為JavaScript物件型別不可作為變數名稱 ``` ## 駝峰式命名 這是計算機程序編寫時的一套命名規則,但這種命名方式是一種約定成俗的習慣,非絕對、強制,但在程式上卻可增加識別與可讀性。 命名方式為:變數名稱的第一個英文單字開頭是小寫,其餘的英文單字開頭是大寫。 `my_walletMoney、momName、candyPrice` ## 三者差別 - var: 函式作用域,在區塊{ }大括號範圍內語法用var宣告可能會感染全域變數 - let: 區塊作用域,被限制於其區塊內,一旦離開區塊則會失去作用。不可重複定義,禁止於同一層區域中重複宣告 - const: 區塊作用域,特性同let,但在使用上更嚴謹,一旦宣告變數後則無法被賦予新的值 ```jsx //在區塊內的var仍然可以存取 { var walletMoney = 55; } console.log(walletMoney); ``` ```jsx //let 可在區塊中作用並直接賦新值,於區塊外失效 { let a = 5; console.log(a); } console.log(a); // 無法讀取 ``` ```jsx //無法賦予新的值,錯誤 const a = 3; a = 5 ``` 以上為關於變數基礎的內容,若有問題歡迎糾正!謝謝!
×
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