iT邦幫忙

2022 iThome 鐵人賽

DAY 4
0
Modern Web

[學習筆記] 邊學邊寫 JavaScript 30天系列 第 4

[學習筆記] 邊學邊寫 JavaScript 30天 (4):變數 I

  • 分享至 

  • xImage
  •  

今天內容

  1. 宣告變數
  2. 變數型別
  3. 判斷型別語法typeof

筆記

  • 宣告變數
    把變數想成是一個裝東西的箱子,在JavaScript有三種宣告方式var let const,這邊先用var來演示。關於宣告,我們之後會專門做一集視頻跟大家講解。

    var SayHi = "hello"
    

    宣告裡的=賦值的意思,跟數學裡的左右相等不一樣。
    圖解:把右邊的hello(值)放進左邊SayHi的箱子(變數)裡。

    • 宣告變數的幾個規則:

      1. 只能用字母$_(下底線) 來開頭,其他符號與數字均不能作為開頭。
      2. 變數名稱大小寫不一樣,例如: sayhiSayHi 會被視為兩個不ㄧ樣的變數。
      3. 不能使用保留字,例如:varfunction...等等,語言內會使用到的原生語法。

        保留字 MDN 直達車:Keywords ,太長了,大家搭車去比較快 XD

    • 常見命名方式:

      1. 語義化名稱來命名,避免a這種單一字母無意義名稱,但i常用於迴圈還是可以使用。
      2. 常見命名方式:
        • 底線:say_hi,用底線來取代空白。
        • 駝峰:SayHi
        • 兩種不要混用,依照開發團隊統一使用即可。
  • 變數的各種型別:指可以放進箱子(變數)裡的東西(值)有哪幾種(型態)?

    1. 基本型別(primitive type)

      • 字串(string):使用""''來包住值。
      • 數值(number)
      • 布林(boolean):true或false。
      • 空值(Null):存在但沒有東西。
      • 未定義(Undefined):當一個變數沒有被賦予任何值的時候,它的值就是 undefined。
      • Symbol:ES6才新增的一種,課程目前沒有講到,這邊先用 MDN連結 來結束這一回合,之後遇到再深入研究。
      • 常被搞混的 0NullUndefined:就用這張圖來理解。

        上圖從huli blog文章看到並引用,但其內文亦有原來源:Stefan Baumgartner Twitter 。一種引用的引用? 寫兩層了

    2. 物件型別(Object):在JavaScript分成基本型別跟物件型別,所以把基本型別以外的都歸類成物件型別。像是objectarrayfunction,後面再來細講。

  • 判斷型別的語法typeof:使用typeof來看看箱子里裝了什麼東西

    console.log(typeof "hello world")   //string
    console.log(typeof "123")           //string
    console.log(typeof '123')           //string
    console.log(typeof 123)             //number
    console.log(typeof undefined)       //undefined
    console.log(typeof null)            //object
    console.log(typeof {a:1})           //object
    console.log(typeof [1,2,3])         //object
    console.log(typeof function(){})    //function
    

    特別要講的部分:null是object?原來他是一個bug啊,修正會死傷慘重只能將錯就錯了。MDN的解釋以及引用的原因


是的,今天又沒講完了,只好下集待續啦。

來講個看影片的想法好了,這些東西好難一次就看得懂QQ。只能多看幾次以及再找找其他資料來讓自己更理解。蛤?你問我這樣30天內看得完嗎? 你以為鐵人賽過了就不用看了嗎?


參考資料


上一篇
[學習筆記] 邊學邊寫 JavaScript 30天 (3):運算II
下一篇
[學習筆記] 邊學邊寫 JavaScript 30天 (5):變數II
系列文
[學習筆記] 邊學邊寫 JavaScript 30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言