คำถามติดแท็ก template-strings

7
การใช้อักขระ backtick (`) ใน JavaScript
ใน JavaScript backtick †ดูเหมือนจะทำงานเหมือนกับคำพูดเดียว ตัวอย่างเช่นฉันสามารถใช้ backtick เพื่อกำหนดสตริงเช่นนี้ var s = `abc`; มีวิธีการที่พฤติกรรมของ backtick จริง ๆ แตกต่างจากการอ้างอิงเดียวหรือไม่ †หมายเหตุว่าในหมู่โปรแกรมเมอร์ "backtick" เป็นหนึ่งในชื่อของสิ่งที่เรียกว่ามากขึ้นโดยทั่วไปสำเนียงหลุมฝังศพ โปรแกรมเมอร์บางครั้งใช้ชื่อสำรอง "backquote" และ "backgrave" นอกจากนี้ใน Stack Overflowและที่อื่น ๆ การสะกดทั่วไปอื่น ๆ สำหรับ "backtick" คือ "back-tick" และ "back tick"

19
แปลงสตริงเป็นสตริงแม่แบบ
เป็นไปได้ไหมที่จะสร้างเทมเพลตสตริงเป็นสตริงปกติ let a="b:${b}"; แล้วแปลงเป็นสตริงแม่แบบ let b=10; console.log(a.template());//b:10 โดยไม่ต้องeval, new Functionและวิธีการอื่น ๆ ของการสร้างรหัสแบบไดนามิก?

2
Backticks เรียกใช้ฟังก์ชัน
ฉันไม่แน่ใจว่าจะอธิบายเรื่องนี้อย่างไร แต่เมื่อฉันวิ่ง console.log`1` ใน Google Chrome ฉันได้รับผลลัพธ์เช่น console.log`1` VM12380:2 ["1", raw: Array[1]] ทำไม backtick เรียกฟังก์ชั่นบันทึกและมันเป็นเหตุผลที่ทำให้ดัชนีของraw: Array[1]? คำถามถูกนำขึ้นมาในห้อง JS โดย Catgocat แต่ไม่มีคำตอบใดที่สมเหตุสมผลนอกจากบางสิ่งเกี่ยวกับการสร้างเทมเพลตสตริงที่ไม่เหมาะสมจริงๆว่าทำไมสิ่งนี้จึงเกิดขึ้น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.