Bắt đầu từ Firefox 34/Chrome 41/Safari 9/Microsoft Edge bạn có thể sử dụng một ES2015/tính năng ES6 gọi Template Literals và sử dụng cú pháp sau:
`String text ${expression}`
Các văn bản mẫu được đính kèm bởi dấu kiểm ngược (``) (dấu trọng âm) thay vì dấu nháy kép hoặc đơn.
Ví dụ:
var a = 5;
var b = 10;
console.log(`Fifteen is ${a + b}.`);
// "Fifteen is 15.
Làm thế nào gọn gàng là điều đó không?
Bonus:
Nó cũng cho phép cho các chuỗi đa dòng trong javascript mà không thoát, đó là rất tốt cho các mẫu:
return `
<div class="${foo}">
...
</div>
`;
Browser support:
Là cú pháp này là không được hỗ trợ bởi các trình duyệt cũ hơn (Internet Explorer và Safari < = 8), bạn có thể muốn sử dụng Babel để chuyển mã của bạn thành ES5 để đảm bảo mã sẽ chạy ở mọi nơi.
Side lưu ý:
Bắt đầu từ IE8 + bạn có thể sử dụng chuỗi cơ bản định dạng bên console.log
:
console.log('%s is %d.', 'Fifteen', 15);
// Fifteen is 15.
Đừng bỏ lỡ thực tế rằng chuỗi mẫu được phân cách bằng dấu tick (\ ') thay vì các ký tự trích dẫn thông thường của bạn. '" $ {foo} "' nghĩa là $ {foo} '\' $ {foo} \ '' là những gì bạn thực sự muốn – Hovis
Ngoài ra còn có nhiều transpilers để biến ES6 thành ES5 để khắc phục vấn đề tương thích! – Omid