myfreax

JavaScript string 字符串

在本教程中,您将了解 JavaScript 原始类型 string 以及如何使用它来定义字符串

JavaScript string 字符串
JavaScript string

在本教程中,您将了解 JavaScript  原始类型 string 以及如何使用它来定义字符串。

JavaScript 字符串简介

JavaScript string 是原始值。此外,字符串是不可变的。这意味着如果你修改一个字符串,你总是会得到一个新的字符串。原始字符串不会改变。

要创建字符串,您可以使用单引号 ' 或双引号 ",如下所示:

let str = 'Hi'; 
let greeting = "Hello";

ES6 引入了模板字面量,允许您定义字符串反引号 ` 字符:

let name = `John`';

模板文字允许您在字符串中使用单引号和双引号而无需转义它们。例如:

let mesage = `"I'm good". She said";

此外,您可以将变量和表达式放在模板字面量中。JavaScript 用值替换变量。这称为字符串插值。

let name = 'John'; 
let message = `Hi, I'm ${name}.`;
console.log(message);
Hi, I'm John.

在此示例中,JavaScript 将 name 变量的值插入模板字面量。

转义特殊字符

要转义特殊字符,您可以使用反斜杠 \ 字符。例如:

  • Windows 换行符:'\r\n'
  • Unix 换行符:'\n'
  • Tab:'\t'
  • 反斜杠 '\\'

以下示例使用反斜杠字符转义字符串中的单引号字符:

let str = 'I\'m a string!';

获取字符串的长度

length 属性返回字符串的长度:

let str = "Good Morning!"; 
console.log(str.length);  // 13

JavaScript 具有 String 类型(字母 S 大写),它是 string 原始类型的封装类型。因此,您可以从原始字符串访问 String 类型的所有属性和方法。

访问字符

要访问字符串中的字符,您可以使用类似数组的表示法的  [] ,它是基于零的索引。以下示例返回索引为零的字符串的第一个字符:

let str = "Hello"; 
console.log(str[0]); // "H"

要访问字符串的最后一个字符,可以使用索引 length - 1

let str = "Hello"; 
console.log(str[str.length -1]); // "o"

+ 运算符连接字符串

连接两个或多个字符串,您可以使用 运算符 +

let name = 'John'; 
let str = 'Hello ' + name;
console.log(str); // "Hello John"

如果你想一段一段地组装一个字符串,你可以使用 += 运算符:

let className = 'btn';
className += ' btn-primary';
className += ' none';
console.log(className);
btn btn-primary none

将值转换为字符串

要将非字符串值转换为字符串,您可以使用以下方法之一:

  • String(n);
  • ” + n
  • n.toString()

请注意,toString()方法不适用于 undefinednull。当您将字符串转换为布尔值时,您无法将其转换回来。例如:

let status = false;
let str = status.toString(); // "false"
let back = Boolean(str); // true

在这个例子中:

  • 首先,声明 status 变量并用 false 的值初始化它。
  • 其次,使用 toString() 方法将 status 变量转换为字符串。
  • 第三,使用 Boolean() 函数将字符串转换回布尔值。Boolean() 函数将字符串转换为布尔值 "false"。结果为 true,因为 "false" 是一个非空字符串。

请注意,只有传递空字符串 ''  给 Boolean() 函数才会返回 false

比较字符串

要比较两个字符串,您可以使用比较运算符,例如 >>=<<=== 运算符。

比较运算符根据字符的数值比较字符串。它可能会返回与字典中使用的字符串顺序不同的字符串顺序。例如:

let result = 'a' < 'b'; 
console.log(result); // true

然而:

let result = 'a' < 'B'; 
console.log(result); // false

结论

  • JavaScript 字符串是原始值并且是不可变的。
  • 字符串字面量串由单引号 ( ')、双引号 ( ") 或反引号 (`) 创建。
  • length 属性返回字符串的长度。
  • 使用比较运算符 `>、>=、<、<=、== 来比较字符串。

内容导航