字串是 JavaScript 中用來儲存文字資料的資料型態。 單一字元並沒有專屬的資料型態。
你可以用單引號或雙引號把文字包起來,建立字串字面值。在 Exercism 上,我們使用單引號。
'Hello, World!'
"Hello, World!"
文字中某些特殊字元前面需要加上反斜線 \,詳見 MDN 上的跳脫序列。
const text = 'I\'m having fun.\nWhat about you?';
console.log(text);
// => I'm having fun.
// => What about you?
除了單引號和雙引號,你也可以用反引號把文字包起來建立字串。 這種語法可以包含單引號或雙引號,甚至換行,而不需要跳脫它們。 它也能嵌入運算式,詳情請見樣板字串。
`A multi-line string
with 'single quotes'
and "double quotes"`;
字串可以視為由字元組成的陣列,其中第一個字元的索引是 0。
你可以用方括號和想取得的字母索引,存取字串中的單一字元。
此外,也可以使用 charAt 方法。
'cat'[1];
// => 'a'
'cat'.charAt(2);
// => 't'
你可以透過 length 屬性得知字串中有多少個字元。
'cat'.length;
// => 3
串接字串最簡單的方式,就是使用加法運算子 +。
'I like' + ' ' + 'cats.';
// => "I like cats."
字串提供了許多輔助方法,完整清單請見 MDN 的字串方法文件。 以下列出一些常用的輔助方法。
toUpperCase 和 toLowerCase:改變所有字元的大小寫trim:移除開頭和結尾的空白includes、startsWith 和 endsWith:判斷另一個字串是否為給定字串的一部分slice:取出字串的某一段套用上述方法永遠不會改變原始字串,而是會建立並回傳一個新的字串。 在 JavaScript 中,字串(以及其他原始資料型態)是不可變的。 這也表示你無法用上面示範的方括號語法,在某個索引位置指定不同的字元(就像你在陣列中會做的那樣)。
const str = 'cat';
str[1] = 'u'; // fails silently
console.log(str);
// => 'cat'