วันนี้ฉันอ่านกระทู้นี้เกี่ยวกับความเร็วของการต่อสายอักขระ
น่าแปลกที่การต่อสตริงเป็นผู้ชนะ:
ผลลัพธ์ตรงข้ามกับที่ฉันคิดไว้ นอกจากนี้ยังมีบทความจำนวนมากเกี่ยวกับเรื่องนี้ซึ่งอธิบายตรงข้ามเช่นนี้
ฉันเดาได้ว่าเบราว์เซอร์ได้รับการปรับให้เหมาะกับสตริงconcat
ในเวอร์ชันล่าสุด แต่จะทำได้อย่างไร เราสามารถพูดได้ว่ามันจะดีกว่าที่จะใช้+
เมื่อเชื่อมต่อสตริง?
ปรับปรุง
ดังนั้นในการต่อสายอักขระในเบราว์เซอร์สมัยใหม่จึงได้รับการปรับให้เหมาะสมดังนั้นการใช้+
เครื่องหมายจึงเร็วกว่าการใช้join
เมื่อคุณต้องการต่อสตริง
แต่@Arthur ชี้ให้เห็นว่าjoin
เร็วกว่าถ้าคุณต้องการเข้าร่วมสตริงด้วยตัวคั่น
อัปเดต - 2020
Chrome: Array join
เกือบจะ2 times faster
เป็น String concat +
See: https://stackoverflow.com/a/54970240/984471
หมายเหตุ:
- อาร์เรย์
join
จะดีกว่าถ้าคุณมีlarge strings
- หากเราต้องการสร้าง
several small strings
ในผลลัพธ์สุดท้ายจะเป็นการดีกว่าที่จะใช้การต่อสตริง+
เนื่องจากมิฉะนั้นการใช้ Array จะต้องมีการแปลง Array to String หลายรายการในตอนท้ายซึ่งเป็นประสิทธิภาพที่เกินพิกัด