iT邦幫忙

2025 iThome 鐵人賽

DAY 3
0
Modern Web

30天入門Java Script系列 第 3

Day3:JavaScript基本資料型態與型態轉換

  • 分享至 

  • xImage
  •  

昨天我們學了變數宣告,知道怎麼用var、let和const來放資料,但變數裡能放的資料其實有很多種,這些不同的資料我們稱之為「資料型態」
不同的型態能做的事也不一樣,今天就來認識JavaScript 裡最基本的資料型態,還有怎麼在它們之間做轉換

JavaScript 的基本資料型態

JavaScript是「動態型別」的語言,意思是你宣告變數時不用先告訴它「這是字串」還是「這是數字」,它會根據你給的值自己判斷。這樣寫起來很方便,但有的時候也會出現一些很神奇的行為

常見的基本型態有這些:

  • **字串 (String):**用來放文字
  • **數字 (Number):**整數或小數都可以,例如 42、3.14
  • **布林值 (Boolean):**只有 true 或 false 兩個值,用來做判斷
  • **未定義 (undefined):**變數宣告了但還沒有值
  • **空值 (null):**變數是空的
  • **符號 (Symbol):**比較少用,建立獨一無二的識別值
  • **大整數 (BigInt):**可以表示超過 Number 安全範圍的超大數字

看到這裡你可能會問,null和undefined有什麼差別嗎?都是沒有東西的意思啊?
雖然都是沒有東西,但null和undefined還是不一樣的喔!null的意思是你宣告變數之後刻意設定這個變數是空的,undefined則是你宣告了變數之後還沒有設定變數內存放的資料的意思,看看範例就知道囉

範例:

let name = '小明';      // String
let age = 20;           // Number
let isStudent = true;   // Boolean
let nothing;            // undefined
let empty = null;       // null

我們可以用 typeof 來檢查變數的型態:

console.log(typeof name);      // "string"
console.log(typeof age);       // "number"
console.log(typeof isStudent); // "boolean"
console.log(typeof nothing);   // "undefined"
console.log(typeof empty);     // "object"(JS 歷史 bug,但實際是 null)

型態轉換(Type Conversion)

有時候我們需要把一種型態轉換成另一種,或是JavaScript會在某些情況下「自己幫你轉」(隱式轉換),但也可以用函式自己轉換資料的型態(顯式轉換)

範例:

console.log('5' + 3); // "53"(字串 + 數字 = 字串)
console.log('5' - 3); // 2   (字串 - 數字 = 數字)

可以從範例看出來+會是字串拼接,- * / 則會把自動把字串轉成數字來算,這就是型態轉換

至於手動轉換的部分

範例:

let str = '123';
let num = Number(str); // 轉成數字
console.log(num + 1);  // 124

let n = 456;
let s = String(n);     // 轉成字串
console.log(s + '元'); // "456元"

let truthy = Boolean(1); // true
let falsy = Boolean(0);  // false

資料型態的介紹部分大概就到這裡了,至於還有部分沒有提到比較複雜的就放到另外一篇介紹囉!


上一篇
Day2:JavaScript的變數宣告
下一篇
Day4:運算子與條件判斷
系列文
30天入門Java Script4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言