ES6字符串模板

时间:2015-08-28 13:06:47

标签: javascript ecmascript-6

所以我对ES6很新,并且很想知道是否有一种更简单的方法来返回字符串而不是试图找出顺序,我喜欢这种方法,但我发现它有大字符串它的相当多折磨。请任何人都能朝正确的方向射击我吗?是否可以使用箭头功能来实现此功能?

function text(strings, ...values){
        if(values[3]>200){
          values[2] = "realy fast up too"
        }else{
          values[2] = "super slow up too"
        }
        return `${strings[0]}${values[0]} ${values[1]}${strings[1]}${strings[2]}${values[2]} ${values[3]}${strings[3]}${strings[4]}${strings[5]}${values[4]}`;
      }

      let sentance = text`Your ${this.color} ${this.cartype}can drive ${""} ${this.speed}Km/H while going ${this.carsound(carS)}`;

此外,我尝试使用如下所示的箭头函数,但我在第16行遇到编译错误(意外令牌),这是您看到的第一行

text(strings, ...values)=>{
        if(values[3]>200){
          values[2] = "realy fast up too"
        }else{
          values[2] = "super slow up too"
        }
        return `${strings[0]}${values[0]} ${values[1]}${strings[1]}${strings[2]}${values[2]} ${values[3]}${strings[3]}${strings[4]}${strings[5]}${values[4]}`;
      } 

1 个答案:

答案 0 :(得分:1)

如果使用jQuery

,我会做这样的事情
let text = (strings, ...values) {
    // code
    return $.map(strings, function(v, i){ return v + values[i]; }).join(' ');
}

箭头功能是一种匿名功能,您在使用功能时无法使用它。 您必须将其分配给var,如此;

let text = (strings, ...values)=> { ... }