iT邦幫忙

2025 iThome 鐵人賽

DAY 30
0
Modern Web

30天絕望倒數JavaScript系列 第 30

JavaScript String Reference

  • 分享至 

  • xImage
  •  

介紹

在 JavaScript 中,字串(String) 是一種用來儲存文字資料的資料型別。
字串可以包含文字、數字或符號,並以 單引號 ('')、雙引號 ("") 或 反引號 (``) 括起來。

let str1 = "Hello World";
let str2 = 'JavaScript';
let str3 = `String Example`;

建立字串

let text = "Hello";          // 字面值
let text2 = new String("Hi"); // String 物件

注意:

new String() 會建立物件,不建議使用,除非你需要字串物件的特殊行為。

字串屬性

屬性 說明 範例
length 回傳字串的長度 "Hello".length // 5
let text = "JavaScript";
console.log(text.length); // 10

常用字串方法

取得特定字元

let text = "Hello";
console.log(text.charAt(1));     // e
console.log(text.charCodeAt(1)); // 101
console.log(text[1]);            // e

搜尋字串

方法 說明 範例
indexOf() 回傳第一次出現的位置 "Hello".indexOf("l") // 2
lastIndexOf() 回傳最後一次出現的位置 "Hello".lastIndexOf("l") // 3
includes() 檢查是否包含指定字串 "Hello".includes("e") // true
startsWith() 是否以指定字串開頭 "Hello".startsWith("He") // true
endsWith() 是否以指定字串結尾 "Hello".endsWith("lo") // true

提取字串

方法 說明 範例
slice(start, end) 擷取部分字串(不含 end) "Hello".slice(1, 4) // ell
substring(start, end) 類似 slice,但不接受負數 "Hello".substring(1, 4) // ell
substr(start, length) 從 start 取出指定長度 "Hello".substr(1, 3) // ell

轉換大小寫

let text = "JavaScript";
console.log(text.toUpperCase()); // JAVASCRIPT
console.log(text.toLowerCase()); // javascript

合併字串

let a = "Hello";
let b = "World";
console.log(a.concat(" ", b)); // Hello World

或使用 +:

let message = a + " " + b; // Hello World

去除空白

let text = "   Hello World!   ";
console.log(text.trim());      // "Hello World!"
console.log(text.trimStart()); // "Hello World!   "
console.log(text.trimEnd());   // "   Hello World!"

替換字串

let text = "I love cats";
console.log(text.replace("cats", "dogs")); // I love dogs

replaceAll() 可一次替換所有出現的字串:

let text = "apple apple apple";
console.log(text.replaceAll("apple", "banana")); // banana banana banana

分割與合併

let text = "a,b,c,d";
let arr = text.split(",");   // ["a","b","c","d"]
let newText = arr.join("-"); // a-b-c-d

重複與填充

console.log("Hi".repeat(3));      // HiHiHi
console.log("5".padStart(3, "0")); // 005
console.log("5".padEnd(3, "0"));   // 500

字串模板(Template Literals)

使用 反引號(`) 可以插入變數或換行:

let name = "Tom";
let age = 25;

let message = `Hello ${name}, you are ${age} years old.`;
console.log(message);

也可多行:

let poem = `
Roses are red,
Violets are blue.
`;

其他實用方法一覽表

方法 說明
toString() 轉成字串
valueOf() 回傳原始字串值
match() 比對正則表達式
search() 搜尋正則表達式
replace() 替換字串
localeCompare() 比較字串順序
normalize() Unicode 標準化
fromCharCode() 根據 Unicode 產生字元(靜態方法)

總結

  • 字串在 JavaScript 中是 不可變(immutable) 的。

  • 所有字串方法都會 回傳新字串,不會改變原始字串。

  • 反引號(``)可讓你更靈活地嵌入變數與換行。


上一篇
JavaScript String Search
系列文
30天絕望倒數JavaScript30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言