iT邦幫忙

2025 iThome 鐵人賽

DAY 12
0

在前一篇,我們認識了 JavaScript 的資料型別。
要能夠操作它們,我們需要一個「容器」來存放,那就是變數(Variable)

什麼是變數?

變數想像成一個貼了標籤的抽屜,把資料放進去之後,還能再打開來取用,甚至更換裡面的東西。

  • 變數名稱:就像抽屜上的標籤。
  • 值(Value):抽屜裡面存放的資料。

JavaScript 在宣告變數時,會先替它保留記憶體位置,再把你指定的值存放進去。

var price = 50;
  • var → 宣告變數
  • price → 變數名稱
  • 50 → 值

變數命名規則

在宣告變數時,有幾個需要遵守的規則:

  1. 只能用 字母$_ 作為開頭。
  2. 名稱區分大小寫,例如 pricePrice 是不同的變數。
  3. 不能使用 保留字(例如 varletfunction 等)。
    常見的命名方式有:
    • 底線式user_name
    • 駝峰式userName(JavaScript 最常用)

變數與賦值

在 JavaScript 中,等號 = 表示的不是「相等」,而是 賦值(assignment)
也就是把等號右邊的值,存入左邊的變數中。

let x = 5;
x = x + 1;
console.log(x); // 6

為了方便,JavaScript 也提供語法糖(syntax sugar)

x += 1; // 等同於 x = x + 1

var、let、const 的差別

ES6 之後,JavaScript 建議用 letconst 取代傳統的 var。

  • let:適合宣告會變動的變數。
  • const:適合宣告不會再變動的值(常數)。
  • var:舊語法,容易造成錯誤,不建議使用。

需要注意的幾點:

  • const 宣告時必須同時賦予初始值。
  • letconst 都不能「重複宣告」同一個變數。
  • const 的值不能再被重新指定。
const pi = 3.14;
pi = 3.14159; // ❌ 錯誤,不能重新賦值

變數的運算

變數能搭配運算使用,不同型別的資料在運算時會有差異:

var a = '10';
var b = 20;

console.log(Number(a) + b);     // 30
console.log(parseInt(a, 10)+b); // 30
console.log(parseInt(a, 2)+b);  // 22(二進位的 10 → 十進位的 2,再加 20)

小數的運算也有陷阱:

var a = 0.1 + 0.2;
console.log(a);        // 0.30000000000000004
console.log(a == 0.3); // false
  • 這是因為電腦在存小數時無法完全精準,造成誤差。

比較運算子:== vs ===

JavaScript 的比較運算子有兩種:

  • ==:會進行型別轉換,再比較值是否相等。
  • ===:嚴格比較,必須型別和值都相同。
console.log(0 == "0");   // true
console.log(0 === "0");  // false
console.log(0 == " ");   // true
console.log(0 === " ");  // false

參考資料


上一篇
Day11|資料型別(Data Types)
下一篇
Day13|數字(Number)
系列文
程式小白的 30 天轉職挑戰14
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言