1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-27 20:32:21 +00:00

docs(string-methods): fix #913

This commit is contained in:
ruanyf 2019-09-20 22:35:01 +08:00
parent 22665e7efc
commit 561b30426e

View File

@ -49,16 +49,16 @@ String.raw`Hi\\n` === "Hi\\\\n" // true
`String.raw()`方法可以作为处理模板字符串的基本方法,它会将所有变量替换,而且对斜杠进行转义,方便下一步作为字符串来使用。
`String.raw()`方法也可以作为正常的函数使用。这时,它的第一个参数,应该是一个具有`raw`属性的对象,且`raw`属性的值应该是一个数组。
`String.raw()`本质上是一个正常的函数,只是专用于模板字符串的标签函数。如果写成正常函数的形式,它的第一个参数,应该是一个具有`raw`属性的对象,且`raw`属性的值应该是一个数组,对应模板字符串解析后的值
```javascript
String.raw({ raw: 'test' }, 0, 1, 2);
// 't0e1s2t'
// `foo${1 + 2}bar`
// 等同于
String.raw({ raw: ['t','e','s','t'] }, 0, 1, 2);
String.raw({ raw: ['foo', 'bar'] }, 1 + 2) // "foo3bar"
```
上面代码中,`String.raw()`方法的第一个参数是一个对象,它的`raw`属性等同于原始的模板字符串解析后得到的数组。
作为函数,`String.raw()`的代码实现基本如下。
```javascript