_字符串_是 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'