在前一篇,我們認識了 JavaScript 的資料型別。
要能夠操作它們,我們需要一個「容器」來存放,那就是變數(Variable)。
變數想像成一個貼了標籤的抽屜,把資料放進去之後,還能再打開來取用,甚至更換裡面的東西。
JavaScript 在宣告變數時,會先替它保留記憶體位置,再把你指定的值存放進去。
var price = 50;
var
→ 宣告變數price
→ 變數名稱50
→ 值在宣告變數時,有幾個需要遵守的規則:
price
和 Price
是不同的變數。var
、let
、function
等)。user_name
userName
(JavaScript 最常用)在 JavaScript 中,等號 =
表示的不是「相等」,而是 賦值(assignment)。
也就是把等號右邊的值,存入左邊的變數中。
let x = 5;
x = x + 1;
console.log(x); // 6
為了方便,JavaScript 也提供語法糖(syntax sugar):
x += 1; // 等同於 x = x + 1
在 ES6 之後,JavaScript 建議用 let
與 const
取代傳統的 var。
let
:適合宣告會變動的變數。const
:適合宣告不會再變動的值(常數)。var
:舊語法,容易造成錯誤,不建議使用。需要注意的幾點:
const
宣告時必須同時賦予初始值。let
和 const
都不能「重複宣告」同一個變數。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
JavaScript 的比較運算子有兩種:
console.log(0 == "0"); // true
console.log(0 === "0"); // false
console.log(0 == " "); // true
console.log(0 === " "); // false