iT邦幫忙

2023 iThome 鐵人賽

DAY 1
0
自我挑戰組

30天從零到有,帶你進入程式的世界系列 第 1

[Day 1] JavaScript 的資料型態(型別)

  • 分享至 

  • xImage
  •  

今天是9/16,不只是鐵人賽開賽的最後期限,其實也是五倍紅寶石14th的Demo day,總算是告一段落了。
回首這三個月來,上課的時候總是滿臉問號,或是跟不上進度;抑或是做專案的時候瘋狂報錯,功能搞了兩三天仍然沒有進展。但總算是撐過去了(雖然接下來仍然要準備面試)。
總之呢,報名這個鐵人賽的目的不只是為了回首這三個月來學了哪些東西,做到哪些事情,也是希望看到的人可以知道,從一個非本科生也是可以有機會能轉職成工程師的,只要有足夠的動力。


JavaScript 的資料型態

在JavaScript 中,資料型態(型別)分成原始型別(primitive type)物件型別(Object type)

原始型別包括:

  1. number 數字
  2. String 字串
  3. Boolean 布林值
  4. Null 空值
  5. Undefined 未定義
  6. Symbol 符號

物件型別包括:

  1. array陣列
  2. function函數
  3. Object物件

假設今天有個變數我們不知道他的型別是什麼,我們該怎麼查看呢?
答案是:使用 typeof

console.log(typeof 123);
//number

let a = null 
console.log(typeof a)
//object , null 是一個物件 ⇒ 指向空值

下面是一些typeof可能的返回值:

  • "undefined":如果值未定義或變數未聲明。
  • "boolean":如果值是布爾類型。
  • "number":如果值是數字。
  • "string":如果值是字符串。
  • "symbol":如果值是符號。
  • "bigint":如果值是大整數。
  • "function":如果值是函數。
  • "object":如果值是對象(包括 null,但不包括數組和函數)。

型別轉換

既然都有型別的區分了,那我們還能夠轉換型別嗎?
當然可以,我們可以利用Javascript的語法作型別的轉換

  1. 數字轉換成字串
    • const str = String(num);
    • const str = num.toString();
const num = 10;

const str = String(num);
console.log(str); // 輸出 "10"

const str = num.toString();
console.log(str); // 輸出 "10"
  1. 字串轉換成數字
    • const num = parseInt(str);
    • const num = Number(str);
const str = "10";

const num = parseInt(str);
console.log(num); // 輸出 10

const num = Number(str);
console.log(num); // 輸出 10

另外有個比較特別的,在javascript中,有一個東西:NaN 的型別是數字,它用來代表它不是一個數字。
聽起來不知在講什麼對不對?對我第一次聽到也是覺得,蛤?
但只要記住他出現時通常代表什麼意思就比較好理解了

NaN (not a number)

  • NaN 的型別是數字, 用來代表它不是一個數字,如果有出現NaN代表可能有轉換失敗的情況
1/"a"
//NaN

typeof NaN
//number

https://ithelp.ithome.com.tw/upload/images/20230916/20162648qJgl4wRPNt.png

最後附上我當初的筆記,希望對於看到我文章的人能有幫助!
https://full-gerbil-2e6.notion.site/70ec07b6448145ca867c6ab239696536?pvs=4


下一篇
[Day2] Hello World
系列文
30天從零到有,帶你進入程式的世界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言