今天正式開始鐵人賽!第一天先來認識 JavaScript 的基礎:變數、型別、運算子和函式。
想像我們有三種方式存放東西:
var
→ 像是「可以到處亂放的抽屜」,有時候會不小心把別人東西蓋掉。let
→ 像是「自己的小抽屜」,範圍只在你所在的房間。const
→ 像是「上鎖的櫃子」,放進去之後不能換掉裡面的東西。
var a = 1;
let b = 2;
const c = 3;
b = 5; // ✅ 可以換
// c = 10; // ❌ 報錯,const 鎖死了
JS 有七種最基本的型別,可以想像成不同「資料的形狀」:
"我今天心情不錯"
42
(考試分數)、3.14
true
/ false
(有沒有吃飽)let name = "小明";
let score = 95;
let pass = true;
let notYet;
let empty = null;
console.log(typeof name); // "string"
console.log(typeof score); // "number"
console.log(typeof pass); // "boolean"
console.log(typeof empty); // "object" (歷史 bug)
let base = 30000;
let bonus = 5000;
let total = base + bonus;
console.log(total); // 35000
let score = 80;
console.log(score >= 60); // true (及格)
console.log(score === "80"); // false (型別不同)
let hungry = true;
let hasMoney = false;
console.log(hungry && hasMoney); // false (餓了但沒錢)
let money = 50;
let decision = money >= 100 ? "買星巴克" : "先忍一下";
console.log(decision); // "先忍一下"
函式就像一個「小機器」,輸入東西 → 幫你處理 → 輸出結果。
function add(a, b) {
return a + b;
}
console.log(add(10, 20)); // 30
const multiply = function(a, b) {
return a * b;
};
console.log(multiply(5, 6)); // 30
const divide = (a, b) => a / b;
console.log(divide(100, 5)); // 20
假設有一群學生考試,我們要寫一個程式,幫忙算出 平均分數 和 最高分。
function analyzeScores(scores) {
if (scores.length === 0) {
return { average: 0, max: null };
}
let sum = 0;
let max = scores[0];
for (let s of scores) {
sum += s;
if (s > max) {
max = s;
}
}
let average = sum / scores.length;
return { average, max };
}
// 測試:小明 80, 小美 95, 阿土 60
let scores = [80, 95, 60];
let result = analyzeScores(scores);
console.log(result);
// { average: 78.333..., max: 95 }
第一天雖然都是基礎內容,但重新寫一遍才發現:
var
真的是坑王,果然還是 let
/ const
比較安心。
null
和 undefined
在專案裡常常搞混,要記得「一個是刻意清空,一個是還沒設定」。
==
和 ===
差一個等號,結果可以完全不一樣。
今天寫的小練習,用「分數」算平均跟最高分,看起來簡單,但這種邏輯其實常常用到,像是公司裡做報表或統計分析時,就是同一個思維。
今天的感覺就像是把工具箱裡的螺絲起子重新擦亮,以後才不會拧錯方向。🔧🚀