Javascript: createElement เทียบกับเทมเพลตตัวอักษร

Nov 28 2022
เมื่อสองสามวันก่อนขณะสร้างโครงการ ฉันได้รับคำถามหนึ่งที่ทำให้ฉันสนใจที่จะค้นหาและอ่านเกี่ยวกับเรื่องนี้ คำถามคือ: “จะเกิดอะไรขึ้นถ้าฉันใช้สตริงเทมเพลตแทนการใช้ createElement เพื่อสร้างองค์ประกอบ HTML มันสร้างความแตกต่างหรือไม่” ทั้ง “เอกสาร.

เมื่อสองสามวันก่อนขณะสร้างโครงการ ฉันได้รับคำถามหนึ่งที่ทำให้ฉันสนใจที่จะค้นหาและอ่านเกี่ยวกับเรื่องนี้ คำถามคือ:

“จะเกิดอะไรขึ้นถ้าฉันใช้สตริงเทมเพลตแทนการใช้ createElement เพื่อสร้างองค์ประกอบ HTML มันสร้างความแตกต่างหรือไม่”

ทั้ง “ document.createElement() ” และ “ แม่แบบตัวอักษร ” ทำให้เราสามารถสร้างองค์ประกอบต่าง ๆ ได้ จึงเกิดคำถามว่าจะใช้อะไรเมื่อใด มันสร้างความแตกต่างหรือไม่ถ้าเราใช้สิ่งเหล่านี้หรือเปลี่ยนใหม่? คุณจะพบเมื่อคุณอ่านต่อไป

createElement() v/s เทมเพลตตัวอักษร

สร้างองค์ประกอบ ()

  • เมธอด createElement() เป็นฟีเจอร์ DOM ระดับ 1 ที่เปิดตัวในปี 1998
  • มันเก่าและแข็งแกร่ง แต่ก็มีความซ้ำซ้อนเมื่อเราต้องสร้างองค์ประกอบเป็นระยะ ๆ
  • การสนับสนุนเบราว์เซอร์สำหรับ createElement() นั้นดีที่97.92 %
  • ตัวอักษรเทมเพลตถูกนำมาใช้ใน ES6 หรือที่เรียกว่า ECMAScript 6 ในปี 2558
  • ใหม่กว่า เร็วกว่า มีโค้ดน้อยกว่า อ่านง่ายกว่า ดูแลรักษาง่าย และมีโอกาสจัดการกับบั๊กน้อยกว่า
  • การสนับสนุนเบราว์เซอร์สำหรับสตริงเทมเพลตอยู่ที่97.11%ซึ่งไม่แตกต่างกันมากเมื่อเทียบกับ createElement() แต่นี่คือสิ่งที่เทมเพลตตัวอักษรใช้ไม่ได้กับ IE 11, Opera และ blackberry

ด้านล่างนี้เป็นตัวอย่างข้อมูลโค้ดเพื่อเพิ่มองค์ประกอบ HTML โดยใช้ createElement และเทมเพลตตัวอักษร

ทาง JS

ทางเลือกด้วยตัวอักษรแม่แบบ

บทสรุป

อย่างที่คุณเห็นในโค้ดตัวอย่างด้านบน ไม่มีความแตกต่างมากนักเมื่อเราสร้างองค์ประกอบโดยใช้ createElement() หรือใช้สตริงเทมเพลต ดังนั้น คำตอบของคำถามจึงขึ้นอยู่กับการเลือกสิ่งที่ดีที่สุดสำหรับคุณพร้อมกับเบราว์เซอร์ที่ผู้ใช้แอปพลิเคชันใช้งาน เนื่องจาก IE11, Opera และ Blackberry ยังไม่รองรับสตริงเทมเพลต คุณจึงเลือกใช้เมธอด createElement() ได้