ปัญหาทั่วไปที่นำมาสำหรับการต่อข้อมูลสตริงจะหมุนรอบสองสามประเด็น:
+
สัญลักษณ์การโอเวอร์โหลด
- ข้อผิดพลาดง่าย ๆ
- โปรแกรมเมอร์ขี้เกียจ
# 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
?