5

私はコードは、タグ付きのテンプレート文字列を使用しようとすると、 '捕捉されないでSyntaxErrorを:予期しないトークン' 与え

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}`; 

を以下にタグ付けされたテンプレートの文字列を使用していますが、それはfunction tag(strings, ...values) {

+3

どのようなJSエンジンでES6コードをテストしていますか? – Quentin

+0

トランスファーを使用していますか?テンプレート文字列はタグなしで環境内で動作しますか? – Bergi

+0

はい、私は最新のクロムコンソールを使用しています –

答えて

4

Uncaught SyntaxError: Unexpected token ...(…)

を与えます構文エラーUnexpected token ...には、タグが問題ではなく、残りの演算子の使用法が記載されています。次のことを試してみてください。

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}`); 

ES6 compatibility tableによると、現在のChromeでthe harmony flagを経由して、残りの構文を有効にする必要があります。

+0

クールで、機能しましたが、残りの構文を有効にする方法がありません –

+4

@ AkhileshKumarアドレスバーにこのリンクを入れて行動する強調表示されたオプションを選択します: 'chrome:// flags /#enable-javascript-harmony' – Andreas

関連する問題