JavaScript 字符串 raw() 方法



JavaScript 字符串raw() 是一个静态方法,用于检索模板字面量的原始形式。此方法保留字面内容,而不解释转义序列。

如果第一个参数的值不包含 raw 属性,或者新属性未定义或为null,则该方法将抛出'TypeError'异常。

语法

以下是 JavaScript 字符串raw()方法的语法:

String.raw(strings, sub1, sub2, /* …, */ subN)

参数

此方法接受两个名为“strings”和“sub1, sub2, ... subN”的参数,如下所述:

  • strings - 模板字面量数组对象。
  • sub1, sub2,....subN(可选) - 替换的值。

返回值

此方法返回模板字面量的原始字符串形式。

示例 1

如果我们只将string参数值传递给此方法,它将返回此模板字面量的原始字符串形式。

在以下示例中,我们使用 JavaScript 字符串raw()方法来检索此模板字面量“C:\Apache24\htdocs\javascript\JavaScript String Methods”的原始字符串形式。

<html>
<head>
<title>JavaScript String raw() Method</title>
</head>
<body>
<script>
   const string =  "C:\Development\profile\aboutme.html";
   document.write("The given string: ", string);
   //using the String.raw() method
   const filePath = String.raw`C:\Development\profile\aboutme.html`;
   document.write("<br>The raw form: ", filePath);
</script>
</body>
</html>

输出

上述程序返回给定模板字面量的原始形式。

The given string: C:Developmentprofileaboutme.html
The raw form: C:\Development\profile\aboutme.html

示例 2

以下是 JavaScript 字符串raw()方法的另一个示例。我们使用此方法从给定的模板字面量“Hi\n${20+5}!”中检索原始形式。

<html>
<head>
<title>JavaScript String raw() Method</title>
</head>
<body>
<script>
   const string = `Hi\n${20+5}!`;
   document.write("The given string: ", string);
   //using the String.raw() method
   const filePath = String.raw`Hi\n${20+5}!`;
   document.write("<br>The raw form: ", filePath);
</script>
</body>
</html>

输出

执行上述程序后,它将返回给定模板字面量的原始形式。

The given string: Hi 25!
The raw form: Hi\n25!

示例 3

如果第一个参数(string)的值不包含 raw 属性或其值为 null,则它将抛出'TypeError'异常。

在下面的示例中,我们使用 JavaScript 字符串raw()方法来检索此模板字面量的原始形式。我们将 null 值作为第一个参数传递给此方法。由于传递的值无效,因此它将抛出异常。

<html>
<head>
<title>JavaScript String raw() Method</title>
</head>
<body>
<script>
   const string = null;
   document.write("The given string: ", string);
   try {
      //using the String.raw() method
      const filePath = String.raw(string);
      document.write("<br>The raw form: ", filePath);
   } catch (error) {
      document.write("<br>", error);
   }
</script>
</body>
</html>

输出

执行上述程序后,它将抛出“TypeError”异常。

The given string: null
TypeError: Cannot convert undefined or null to object
广告