除了數字之外,另一個最常用的資料型別就是 字串 (String)。
字串可以想像成「一連串文字的集合」,用來表示人名、訊息、文章內容等。
字串可以用 單引號 或 雙引號 包起來:
var str1 = "This is a string.";
var str2 = 'This is also a string.';
字串之間可以透過 +
來串接(concatenation):
var hello = "Hello";
var js = "JavaScript";
console.log(hello + " " + js); // Hello JavaScript
ES6 之後,JavaScript 提供了 反引號 `` 與 ${}
語法,可以更方便地插入變數:
var name = "Spark";
var intro = `Hello, my name is ${name}, nice to meet you.`;
console.log(intro); // Hello, my name is Spark, nice to meet you.
如果想把其他型別轉成字串,可以用 String()
或強制轉換:
var age = 18;
console.log(String(age)); // "18"
console.log(age + ""); // "18"
數字與字串混用時,+
會被當成字串串接:
let x = 10;
let y = "10";
console.log(x + y); // "1010"
字串中可以透過跳脫字元 \
來表示特殊符號,例如換行:
console.log("Kenneth\nLai");
輸出結果:
Kenneth
Lai
.length
:回傳字串長度。let str = "Wilson";
console.log(str.length); // 6
slice(start, end)
:擷取子字串(不包含 end)。indexOf(substring)
:回傳子字串位置,找不到回傳 1
。toUpperCase()
/ toLowerCase()
:轉換大小寫。split(pattern)
:把字串拆成陣列。startsWith()
/ endsWith()
:檢查字串是否以某內容開頭或結尾。includes()
:檢查字串是否包含特定內容。charCodeAt(n)
:取得字元的 Unicode 編碼。let sentence = "Today is a good day";
console.log(sentence.slice(2, 6)); // "day "
console.log(sentence.indexOf("good")); // 9
console.log(sentence.toUpperCase()); // "TODAY IS A GOOD DAY"
console.log(sentence.split(" ")); // ["Today","is","a","good","day"]
console.log(sentence.startsWith("Today")); // true
console.log(sentence.includes("bad")); // false
/
等數學運算,否則會回傳 NaN
。console.log("3" - "1"); // 2 (字串會被轉成數字)
console.log("3" + "1"); // "31"