字符串扩展进阶

1.字符串可以被for…of循环遍历

for (let codePoint of 'foo') {
  console.log(codePoint)
}
// "f"
// "o"
// "o"

2.${}中可以放 变量、表达式、函数
如果大括号内不是字符串,将按一般方法转化为字符串

function fn() {
    return "hello world"
}
console.log(`foo ${fn} bar`)//foo hello world bar

3.标签模版本质上是函数调用

function mytag(strings,...values){
    console.log(strings);
    console.log(values);
    var arr=[],
            i= 0,
            len=values.length;
    for(;ireturn arr.join("");
}
var str=mytag`age is ${boy.age},country is ${boy.country}`;
console.log(str);

这里写图片描述
在上面的打印中,strings还有一个raw属性,raw属性也是一个数组,里面的值跟strings数组的值一样,只是raw数组里面的斜杠没有被转义。

你可能感兴趣的:(es6)