ES6:string.raw浅析

it2022-05-09  34

当前正学习ES6 ,遇到string.raw费心思,现将试验后的结果整理如下:

网上得来的试验:

语法

String.raw`templateStr`; 

String.raw(obj, ...substitutions);

 参数

templateStr

必需。模板字符串。

obj

必需。一个使用对象文本表示法指定的格式正确的对象,例如 { raw: “value” }。

...substitutions

可选。一个数组(rest 参数),包含一个或多个替换值。

备注

String.raw 函数旨在与模板字符串一起使用。原始字符串将包含存在于字符串中的任何转义字符和反斜杠。

如果 obj 不是格式正确的对象,则会引发错误。

 

经试验的实例如下:

1、

String.raw是处理模板字符串的一个基本方法。

String.raw({raw: 'test'}, 1,2,3,4); //t1e2s3t 等同于String.raw({raw: ['t','e','s','t']}, 1,2,3,4)

执行原理如下:

String.raw = function (strings, ...values) { var output = ""; for (var index = 0; index < strings.length; index++) { output += strings.raw[index] + values[index]; } output +=strings.raw[index] return output;}

可以用在字符串或数组的插入组成新字符串。

2、

String.raw 函数  

返回模板字符串的原始字符串形式

console.log(String.raw `foo\n${ 42 }bar` === "foo\\n42bar")//true

 

转载于:https://www.cnblogs.com/lxxhome/p/7656231.html

相关资源:数据结构—成绩单生成器

最新回复(0)