2017-12-20 31 views

Trả lời

4

hai backticks đầu tiên là chuỗi rỗng trong khi hai cái tiếp theo sẽ đóng vai trò là tagged template literals, nó sẽ gọi hàm này trước nó. Vì "" (chuỗi rỗng) không phải là một hàm không thể gọi, nó sẽ phát ra lỗi.

Backticks calling a function

Để backticks tổ trong mẫu theo nghĩa đen, thoát khỏi nó bằng cách đặt trước nó với dấu gạch chéo

console.log(`\`\``); 
3

Đó là bởi vì bạn có hai mẫu chữ ngay bên cạnh nhau mà không cần bất kỳ loại tham gia biểu. Trình phân tích cú pháp nhận ra rằng dưới dạng cuộc gọi hàm được gắn thẻ, như String.raw`stuff here`. Các `` đầu tiên được đánh giá, kết quả trong "", và sau đó các công cụ JavaScript cố gắng gọi chuỗi rỗng như là một hàm, đi qua trong mẫu được xử lý bằng chữ. Vì chuỗi rỗng không phải là một hàm, bạn sẽ gặp lỗi.

Bạn gặp lỗi tương tự trực tiếp hơn bằng cách sử dụng ""``. :-)

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