JavaScript 字符串 raw() 方法
JavaScript 字符串 raw() 是一种静态方法,用于检索模板文字的原始形式。此方法保留字面量内容,无需解释转义序列。
如果第一个参数的值不是 raw 属性,或者新属性未定义或为 null,则该方法将抛出 'TypeError' 异常。
语法
以下是 JavaScript String 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);
//使用 String.raw() 方法
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 ${20+5}!"中检索原始格式。
<html>
<head>
<title>JavaScript String raw() Method</title>
</head>
<body>
<script>
const string = `Hi
${20+5}!`;
document.write("The given string: ", string);
//使用 String.raw() 方法
const filePath = String.raw`Hi
${20+5}!`;
document.write("<br>The raw form: ", filePath);
</script>
</body>
</html>
输出
执行上述程序后,它将返回给定模板字面量的原始值。
The given string: Hi 25! The raw form: Hi 25!
示例 3
如果第一个参数(字符串)的值不包含 raw 属性或值为空,则会抛出 'TypeError' 异常。
在下面的示例中,我们使用 JavaScript 字符串的 raw() 方法检索此模板字面值的原始形式。我们将空值作为第一个参数传递给此方法。由于传递的值无效,因此会抛出异常。
<html>
<head>
<title>JavaScript String raw() Method</title>
</head>
<body>
<script>
const string = null;
document.write("The given string: ", string);
try {
//使用 String.raw() 方法
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

