iT邦幫忙

2022 iThome 鐵人賽

DAY 3
0
自我挑戰組

新手的JavaScript扎根之路系列 第 3

Day03 宣告你的第一個變數!

  • 分享至 

  • xImage
  •  

嗨嗨!我是Winnie溫尼~/images/emoticon/emoticon08.gif

前言

今天過得好嗎~我們來到了鐵人賽的第3篇文章「宣告你的第一個變數!」
把上方這段話記錄成「變數與值」的方式,大致就會變成下方的表格。

變數(資訊) 值(資訊內容)
文章數量 3
文章標題 宣告你的第一個變數!

變數(Variable)

變數:用來儲存、紀錄資訊
我們可以用「let 變數名稱 = 值」這種方式來宣告變數,
以上方的表格文章數量來說,轉換成程式語言會變成

let articleNumber = 3
//註解:宣告(let)一個變數,變數名稱是articleNumber,賦予(=)值為3

變數名稱規則

  • 開頭不可為數字。 ex.1year、2dogs
  • 不可使用JavaScript保留字。 ex.if、true...等JavaScript語法
  • 大小寫是有差別的。 ex.articlename≠articleNumber

建議命名方式

  • 小駝峰式命名法(lower camel case):
    第一個單字以小寫字母開始;第二個單字的首字母大寫,ex.firstName、lastName。
    https://upload.wikimedia.org/wikipedia/commons/7/78/CamelCase.pnghttps://zh.m.wikipedia.org/zh-tw/File:CamelCase.png
    (圖/駝峰式大小寫–小駝峰)
  • 語意化:使用有解釋的含義的名稱。
let a = "宣告你的第一個變數!"
//沒有語意化命名
let articleTitle= "宣告你的第一個變數!"
//有語意化命名

宣告變數的方法:let、const、var

ES6之前只有var的宣告方式;在ES6之後,開始引入了let、const取代var去宣告變數。

let

  • 具有可以重新賦予新值的特性,所以常用來宣告容易被更改的值
  • 區塊作用域 (block-level scope):區塊的意思就是大括弧 (curly brace) {},只有在宣告變數的大括弧內才可取用。
let clouds = 3
//註解:現在可以看到3朵雲
clouds = 6
//註解:但過了一下子,可以看到6朵雲,於是重新賦予6朵雲的數量值

const

  • 不具有重新賦予新值的特性,所以常用來宣告固定不變的值
  • 區塊作用域 (block-level scope):區塊的意思就是大括弧 (curly brace) {},只有在宣告變數的大括弧內才可取用。
const sun = 1
//註解:可以看到1顆太陽

### var
- 具有可以重新賦予新值的特性,所以常用來宣告容易被更改的值。
- 但[函式作用域 (function-level scope)](https://medium.com/itsems-frontend/javascript-scope-and-scope-chain-ca17a1068c96)關係,開發時使用var宣告變數容易導致意外汙染全域變數的問題,因此較少被使用。ex.區域變數覆蓋全域變數。


-----


## 參考資料
[JavaScript Reserved Words](https://www.w3schools.com/js/js_reserved.asp)
[駝峰式大小寫](https://zh.m.wikipedia.org/zh-tw/%E9%A7%9D%E5%B3%B0%E5%BC%8F%E5%A4%A7%E5%B0%8F%E5%AF%AB)
[[JavaScript] Javascript 的作用域 (Scope) 與範圍鏈 (Scope Chain):往外找](https://medium.com/itsems-frontend/javascript-scope-and-scope-chain-ca17a1068c96)
[JavaScript基本功修練:Day5 - 宣告變數 - let、const、var](https://ithelp.ithome.com.tw/articles/10240708)
[Day15-淺談JS版本差異!ES5、ES6](https://ithelp.ithome.com.tw/articles/10206587)

-----


新手上路,如文章有錯誤或需修正之處,懇請大家多多指教!
那麼,我們明天見囉~![/images/emoticon/emoticon29.gif](/images/emoticon/emoticon29.gif)

上一篇
Day02 JavaScript是什麼?JavaScript=Java嗎?
下一篇
Day04 基本型別(Primitives types)
系列文
新手的JavaScript扎根之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言