5

Używam oznaczone ciągi szablonów w następujący kodPróba użycia znacznikami ciągi szablonów daje 'Uncaught SyntaxError: Nieoczekiwany token'

var a = 5; 
var b = 10; 
var pp=""; 
function tag(strings, ...values) { 
    pp+=strings[0]; // "Hello " 
    pp+=strings[1]; // " world " 
    pp+=values[0]; // 15 
    pp+=values[1]; // 50 

    console.log(pp+"Bazinga!"); 
} 

tag`Hello ${ a + b } world ${ a * b}`; 

ale daje

Uncaught SyntaxError: Unexpected token ...(…)

Na function tag(strings, ...values) {

+3

W jakim silniku JS testujesz swój kod ES6? – Quentin

+0

Czy używasz transpilatora? Czy ciągi szablonów działają w Twoim środowisku bez tagów? – Bergi

+0

tak, używam najnowszej konsoli chrome –

Odpowiedz

4

Jak informuje błąd składniowy Unexpected token ..., nie tag jest problemem, ale użycie operatora odpoczynku. Spróbuj wykonać następujące czynności:

var a = 5, 
    b = 10; 
function tag(strings) { 
    var pp=""; 
    pp+=strings[0]; // "Hello " 
    pp+=strings[1]; // " world " 
    pp+=arguments[1]; // 15 
    pp+=arguments[2]; // 50 

    return pp+"Bazinga!"; 
} 

console.log(tag`Hello ${ a + b } world ${ a * b}`); 

Według ES6 compatibility table, musisz włączyć obsługę składni odpoczynku poprzez the harmony flag w bieżącym Chrome.

+0

Fajnie, zadziałało, ale nie udało się włączyć składni odpoczynku –

+4

@ AkhileshKumar Umieść ten link w pasku adresu i działaj ivate podświetloną opcję: 'chrome: // flags/# enable-javascript-harmony' – Andreas