摘要:在本教程中,您将学习 JavaScript string
原语类型以及如何使用它来定义字符串。
JavaScript 字符串简介
JavaScript 字符串是原始值。此外,字符串是不可变的。这意味着如果您修改字符串,您将始终获得一个新字符串。原始字符串不会改变。
要创建文字字符串,您可以使用单引号 ('
) 或双引号 ("
),如下所示
let str = 'Hi';
let greeting = "Hello";
Code language: JavaScript (javascript)
ES6 引入了 模板字面量,允许您使用反引号 (`) 字符来定义字符串
let name = `John`;
Code language: JavaScript (javascript)
模板字面量允许您在字符串中使用单引号和双引号,而无需转义它们。例如
let mesage = `"I'm good". She said";
Code language: JavaScript (javascript)
此外,您可以在模板字面量中放置 变量 和表达式。JavaScript 将在字符串中用它们的值替换变量。这称为字符串插值。例如
let name = 'John';
let message = `Hi, I'm ${name}.`;
console.log(message);
Code language: JavaScript (javascript)
输出
Hi, I'm John.
Code language: JavaScript (javascript)
在此示例中,JavaScript 将 name
变量替换为它在模板字面量中的值。
转义特殊字符
要转义特殊字符,可以使用反斜杠 \
字符。例如
- Windows 换行符:
'\r\n'
- Unix 换行符:
'\n'
- 制表符:
'\t'
- 反斜杠
'\'
以下示例使用反斜杠字符来转义字符串中的单引号字符
let str = 'I\'m a string!';
Code language: JavaScript (javascript)
获取字符串的长度
length
属性返回字符串的长度
let str = "Good Morning!";
console.log(str.length); // 13
Code language: JavaScript (javascript)
请注意,JavaScript 具有 String
类型(字母 S
大写),它是原始 string
类型的 原始包装器类型。因此,您可以从原始字符串访问 String 类型的属性和方法。
访问字符
要访问字符串中的字符,请使用类似数组的 []
表示法,并使用基于零的索引。以下示例使用索引零返回字符串的第一个字符
let str = "Hello";
console.log(str[0]); // "H"
Code language: JavaScript (javascript)
要访问字符串的最后一个字符,请使用 length - 1
索引
let str = "Hello";
console.log(str[str.length -1]); // "o"
Code language: JavaScript (javascript)
使用 + 运算符连接字符串
要 连接两个或多个字符串,可以使用 +
运算符
let name = 'John';
let str = 'Hello ' + name;
console.log(str); // "Hello John"
Code language: JavaScript (javascript)
如果要逐段组装字符串,可以使用 +=
运算符
let className = 'btn';
className += ' btn-primary'
className += ' none';
console.log(className);
Code language: JavaScript (javascript)
输出
btn btn-primary none
Code language: JavaScript (javascript)
将值转换为字符串
要将非字符串值转换为字符串,可以使用以下方法之一
- String(n);
- ” + n
- n.toString()
请注意,toString()
方法不适用于 undefined
和 null
。
将字符串转换为布尔值时,无法将其转换回。例如
let status = false;
let str = status.toString(); // "false"
let back = Boolean(str); // true
Code language: JavaScript (javascript)
在此示例中
- 首先,声明
status
变量并将其初始化为false
的值。 - 其次,使用
toString()
方法将 status 变量转换为字符串。 - 第三,使用
Boolean()
函数将字符串转换回布尔值。Boolean() 函数将字符串"false"
转换为布尔值。结果为 true,因为"false"
是一个非空字符串。
请注意,只有 Boolean()
返回 false
的字符串才是空字符串 (''
);
比较字符串
要比较两个字符串,可以使用 比较运算符,例如 >
、>=
、<
、<=
和 ==
运算符。
比较运算符根据字符的数值来比较字符串。它可能返回与字典中使用的顺序不同的字符串顺序。例如
let result = 'a' < 'b';
console.log(result); // true
Code language: JavaScript (javascript)
然而
let result = 'a' < 'B';
console.log(result); // false
Code language: JavaScript (javascript)
总结
- JavaScript 字符串是原始值且不可变的。
- 文字字符串由单引号 (
'
)、双引号 ("
) 或反引号 (`) 分隔。 length
属性返回字符串的长度。- 使用比较运算符
>, >=, <, <=, ==
来比较字符串。