5

Tôi đang sử dụng gắn thẻ chuỗi mẫu trong đoạn mã sauCố gắng sử dụng Tagged mẫu dây cho 'Lỗi Cú pháp chưa gặp: dấu hiệu không mong muốn'

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

nhưng nó mang lại

Uncaught SyntaxError: Unexpected token ...(…)

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

+3

Công cụ JS nào bạn đang thử nghiệm mã ES6 của mình? – Quentin

+0

Bạn có đang sử dụng bộ thu thập thông tin không? Chuỗi mẫu có hoạt động trong môi trường của bạn không có thẻ không? – Bergi

+0

có, tôi đang sử dụng bảng điều khiển chrome mới nhất –

Trả lời

4

Khi lỗi cú pháp Unexpected token ... cho bạn biết, không phải thẻ là vấn đề, nhưng việc sử dụng toán tử còn lại. Hãy thử như sau:

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

Theo ES6 compatibility table, Anh Chị phải bật cú pháp còn lại qua the harmony flag trong Chrome hiện tại.

+0

Thật tuyệt, nó hoạt động nhưng không có cách bật cú pháp còn lại –

+4

@ AkhileshKumar Đặt liên kết này vào thanh địa chỉ và hành động ivate tùy chọn được đánh dấu: 'chrome: // flags/# enable-javascript-harmony' – Andreas

Các vấn đề liên quan