ปัญหาทั่วไปที่นำมาสำหรับการต่อข้อมูลสตริงจะหมุนรอบสองสามประเด็น:
+สัญลักษณ์การโอเวอร์โหลด
- ข้อผิดพลาดง่าย ๆ
- โปรแกรมเมอร์ขี้เกียจ
# 1
ปัญหาแรกและสำคัญที่สุดที่มีการใช้+สำหรับการต่อสตริงและการเพิ่มคือการที่คุณกำลังใช้+สำหรับการต่อสตริงและการเพิ่ม
ถ้าคุณมีตัวแปรaและbและคุณตั้งค่าc = a + bมีความคลุมเครือขึ้นอยู่กับประเภทของและa bความกำกวมนี้บังคับให้คุณทำตามขั้นตอนพิเศษเพื่อลดปัญหา:
String Concat:
c = '' + a + b;
ส่วนที่เพิ่มเข้าไป:
c = parseFloat(a) + parseFloat(b);
นี่นำฉันมาสู่จุดที่สอง
# 2
เป็นเรื่องง่ายมากที่จะส่งตัวแปรไปยังสตริงโดยไม่ได้ตั้งใจ นอกจากนี้ยังง่ายต่อการลืมว่าอินพุตของคุณเข้ามาเป็นสตริง:
a = prompt('Pick a number');
b = prompt('Pick a second number');
alert( a + b );
จะสร้างผลลัพธ์ที่ไม่เข้าใจง่ายเพราะการแจ้งจะส่งคืนค่าสตริงของอินพุต
# 3
จำเป็นต้องพิมพ์parseFloatหรือNumber()ทุกครั้งที่ฉันต้องการเพิ่มนอกจากนี้เป็นที่น่าเบื่อและน่ารำคาญ ผมคิดว่าตัวเองเป็นพอสมาร์ทจำไม่เลอะประเภทแบบไดนามิกของฉัน แต่ที่ไม่ได้หมายความว่าฉันไม่เคย messed up ประเภทแบบไดนามิกของฉัน ความจริงของเรื่องก็คือว่าฉันขี้เกียจเกินไปที่จะพิมพ์ออกมาparseFloatหรือNumber()เวลาที่ฉันทำนอกจากนี้ทุกคนเพราะผมทำมากนอกจากนี้
วิธีการแก้?
ไม่ใช่ทุกภาษาที่ใช้+สำหรับการต่อสตริง PHP ใช้.เพื่อเชื่อมสตริงเข้าด้วยกันซึ่งจะช่วยแยกความแตกต่างระหว่างเวลาที่คุณต้องการเพิ่มตัวเลขและเมื่อคุณต้องการเข้าร่วมสตริง
สัญลักษณ์ใด ๆ ที่สามารถนำมาใช้เพื่อเชื่อมโยงสตริง แต่ส่วนใหญ่จะใช้แล้วและดีที่สุดเพื่อหลีกเลี่ยงการทำซ้ำ หากฉันมีวิธีของฉันฉันอาจใช้_เพื่อเข้าร่วมสตริงและไม่อนุญาต_ในชื่อตัวแปร
badเหตุผลที่มันเป็น คือใครEveryone?