TypeScript - 字串:初學者的指南

你好,未來的程序员!今天,我們將踏上一段令人興奮的旅程,探索 TypeScript 字串的世界。作為你友善的鄰居計算機老師,我在這裡指導你掌握這個基本概念。如果你從未編過程序,別擔心——我們將從頭開始,逐步建立知識。所以,拿起你喜歡的飲料,我們一起來深入探討吧!

TypeScript - Strings

什麼是字串?

在我們深入研究 TypeScript 的具體內容之前,讓我們先了解字串是什麼。在編程中,字串簡單地就是一串字符。它可以是個詞,個句子,甚至是整個段落。把它當作一串字母、數字或符號串在一起。

在 TypeScript 中創建字串

在 TypeScript 中,我們可以通過多種方式創建字串。讓我們看看最常見的方法:

1. 使用單引號

let greeting: string = 'Hello, World!';
console.log(greeting);

在這個例子中,我們創建了一個名為 greeting 的字串變量,並將其值設為 'Hello, World!'。然後 console.log() 函數將其打印到控制台。

2. 使用雙引號

let name: string = "Alice";
console.log(name);

這與前一個例子做同樣的事情,但使用的是雙引號。在 TypeScript 中,單引號和雙引號對字串來說是可以互相替換的。

3. 使用反引號(模板字面量)

let age: number = 25;
let introduction: string = `My name is Alice and I am ${age} years old.`;
console.log(introduction);

這裡就是有樂趣的地方!反引號讓我們創建所謂的 "模板字面量"。它們讓我們能夠直接將表達式(如我們的 age 變量)嵌入到字串中。${} 語法用於將 age 的值插入我們的字串中。

字串屬性

現在我們知道如何創建字串了,讓我們來看看它們的一些屬性。最常使用的屬性是 length

let sentence: string = "The quick brown fox jumps over the lazy dog.";
console.log(sentence.length); // 輸出:44

length 屬性告訴我們字串中有多少字符,包括空格和標點符號。當我們需要知道字串的大小時,它非常有用。

字串方法

TypeScript 中的字串帶有許多內置方法,讓我們能夠操作和使用它們。讓我們看看一些最常見的方法:

方法 描述 示例
toLowerCase() 將所有字符轉換為小寫 "HELLO".toLowerCase() // "hello"
toUpperCase() 將所有字符轉換為大寫 "hello".toUpperCase() // "HELLO"
trim() 從字串兩端移除空格 " hi ".trim() // "hi"
substring(start, end?) 提取字串的一部分 "hello".substring(1, 4) // "ell"
replace(searchValue, replaceValue) 替換字串中的出現 "hello".replace("l", "L") // "heLlo"
split(separator) 將字串拆分成子字串的數組 "a,b,c".split(",") // ["a", "b", "c"]

讓我們通過一些例子來看看這些方法的使用:

let str: string = "   Hello, TypeScript!   ";

// 轉換為小寫
console.log(str.toLowerCase()); // "   hello, typescript!   "

// 轉換為大寫
console.log(str.toUpperCase()); // "   HELLO, TYPESCRIPT!   "

// 移除空格
console.log(str.trim()); // "Hello, TypeScript!"

// 獲取子字串
console.log(str.substring(3, 8)); // "Hello"

// 替換部分字串
console.log(str.replace("TypeScript", "World")); // "   Hello, World!   "

// 拆分字串
console.log(str.trim().split(",")); // ["Hello", " TypeScript!"]

這些方法每個都返回一個新字串,並且原始字串不會被更改。這是編程中一個重要的概念,稱為 "不變性"。

實際範例

現在我們已經介紹了基礎知識,讓我們看看一些字串操作在實際世界中的應用。

1. 驗證用戶輸入

想像你正在創建一個註冊表單,並希望確保用戶名沒有領先或尾隨空格:

function validateUsername(username: string): string {
return username.trim();
}

let input: string = "  alice_smith  ";
let cleanUsername: string = validateUsername(input);
console.log(cleanUsername); // "alice_smith"

2. 創建一個簡單的搜索函數

讓我們創建一個函數,用於檢查給定的單詞是否在句子中:

function searchWord(sentence: string, word: string): boolean {
return sentence.toLowerCase().includes(word.toLowerCase());
}

let text: string = "The quick brown fox jumps over the lazy dog";
console.log(searchWord(text, "fox")); // true
console.log(searchWord(text, "cat")); // false

這個函數將句子和搜索單詞都轉換為小寫,以使搜索不區分大小寫。

3. 格式化名字

這裡有一個函數,用於從分開的姓氏和名字輸入中格式化全名:

function formatName(firstName: string, lastName: string): string {
return `${firstName.charAt(0).toUpperCase()}${firstName.slice(1).toLowerCase()} ${lastName.toUpperCase()}`;
}

console.log(formatName("john", "doe")); // "John DOE"

這個函數將名字的第一個字母大寫,其餘部分小寫,並將姓氏全部大寫。

結論

恭喜你!你已經踏出了進入 TypeScript 字串世界的第一步。我們介紹了如何創建字串,它們的屬性以及最常見的操作方法。記住,熟能生巧,所以不要害怕嘗試這些概念。

在我多年的教學經驗中,我發現那些喜歡玩弄代碼並嘗試 "搞壞" 還是學得最快的学生。所以,拿起這些例子,修改它們,看看會發生什麼。也許你會發現一些新鮮有趣的東西!

繼續編程,保持好奇心,並記住:在編程世界中,每個錯誤信息都只是新學習機會的伪装。快樂編程!

Credits: Image by storyset