Try   HackMD

🏅 Day 2 - 原始型別、型別註釋、型別推斷

題目一:原始型別介紹

在 TypeScript 中,有幾種原始型別可以用來表示不同種類的資料。以下是幾個常見的原始型別:

  1. 字串(string):用來表示文字型別。
  2. 數字(number):用來表示數值的型別,可以是整數或浮點數。
  3. 布林(boolean):用來表示真假值的型別,只有兩個值:truefalse
  4. any:用來表示任意型別的型別,可以接受任何值。

程式實做題

  1. 請使用字串型別宣告一個名為 name 的變數,並將其設定為你的名字。
  2. 請使用數字型別宣告一個名為 age 的變數,並將其設定為你的年齡。
  3. 請使用布林型別宣告一個名為 isStudent 的變數,並將其設定為你是否是學生(是為 true,否為 false)。
  4. 請使用 any 型別宣告一個名為 data 的變數,並將其設定為任意值。

TypeScript 型別註釋與型別推斷

TypeScript 型別註釋與型別推斷是 TypeScript 中重要的概念。

型別註釋是在程式碼中明確指定變數或函式的型別。透過型別註釋,我們可以告訴編譯器變數的型別,以提供更好的靜態型別檢查。

型別推斷是 TypeScript 的一項功能,它可以自動推斷變數的型別,基於變數的初始化值和它在程式碼中的使用方式。當未明確指定型別時,型別推斷可以幫助我們省略冗長的型別註釋。

以下是兩個範例程式碼:

範例程式碼 1:使用型別註釋

// 型別註釋
let name: string;
let age: number;

name = "John";
age = 25;

console.log("Name:", name);
console.log("Age:", age);

範例程式碼 2:使用型別推斷

// 型別推斷
let message = "Hello, TypeScript!";
let count = 10;

console.log(message);
console.log(count);

單選題:

  1. 型別註釋是強制一定要加上的嗎?
    • A. 是
    • B. 否
  2. 型別推斷基於什麼來推斷變數的型別?
    • A. 初始化值
    • B. 函式參數
  3. 型別推斷可以幫助我們省略哪些型別註釋?
    • A. 字串型別註釋
    • B. 數字型別註釋
    • C. 函式型別註釋
    • D. 所有型別註釋

開發題目:

  1. 請使用型別註釋宣告一個變數 score,並將其設置為數字型別,初始值為 80。
  2. 請使用型別推斷宣告一個變數 message,並將其設置為字串型別,初始值為 "Hello, TypeScript!"。
  3. 請使用型別註釋宣告一個變數 fullName,並將其設置為字串型別,初始值為你的姓名。

面試題(選做)

  1. 你會如何判斷何時用型別推論或型別註釋?

回報流程

將答案寫在 CodePen,並貼至底下回報就算完成了喔!
解答位置請參考下圖(需打開程式碼的部分觀看)

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

回報區

Discord CodePen / 答案
洧杰 Codepen
kevinhes Codepen
展誠 Codepen
HsienLu Codepen
連小艾 Codepen
苡安 Codepen
hiYifang HackMD
YH.Lo Codepen
YC HackMD
銀光菇 CodePen
77_0411 CodePen
BonnieChan CodePen
Yee CodePen
Derrick CodePen
Jay CodePen
Hannah CodePen
Mi CodePen
BEN CodePen
Henry_Wu CodePen
Teddy CodePen
Otis CodePen
jasperlu005 Codepen
m_m CodePen
Wendy_.li HACKMD
deedee1215 CodePen
Bryan Chu CodePen
hannahTW CodePen
JC Codepen
Zuo Codepen
Shaokang Codepen
leave3310 Codepen
rikku1756 Codepen
NiuNiu Codepen
LinaChen CodePen
TrevorLin CodePen
Mia CodePen
Starr CodePen
zoe Codepen
shan13 Codepen
ZS Codepen
ethan1331 Codepen
yunhung Codepen
Neil CodePen
hiraka CodePen
亞當 CodePen
Judy ☻ Codepen
Paul_09148 ☻ Codepen
wei Codepen
erwin阿瀚 Codepen
時雨 Codepen
Yang🥸 Codepen
chaya Codepen
Jack codepen
puffy codepen
nina.kuo codepen
精靈 CodePen
薏慈 CodePen
Alyce CodePen
CodePen
bonnieli1414 CodePen
Lisa CodePen
Tina CodePen
柴貓ouo CodePen
皓皓 HackMD
翰毅 CodePen
Yao CodePen
Amberhh codepen
黃士桓 codePen
clairechang codePen
我是泇吟 codePen
Alex-Chiu codePen
Rochel Codepen
MCBB_4881 Codepen
小米 Codepen
aki codepen
Louise codepen
fanshu0303 CodePen
Nick Lin CodePen
Snorlax HackMD
Yoshi CodePen
Rena Codepen
Han HACKMD
Chelly Codepen
AmberL Codepen
大衛 Codepen
Eileen Codepen
狸貓 Codepen
阿鬥鬥 Codepen
Tori HackMD