Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

โอเปอเรเตอร์บวก (+) ใน JavaScript คืออะไร?


โอเปอเรเตอร์บวก (+) ใน JavaScript มีสองหน้าที่หลัก:

  1. การบวกตัวเลข (Addition): รวมค่าตัวเลขสองค่า
  2. การต่อสตริง (String Concatenation): รวมข้อความสองชุด

ตัวอย่างโค้ด

<html>
<body>
  <script>
    var a = 33;
    var b = 10;
    document.write("a + b = ");
    result = a + b;
    document.write(result); // 43 (ตัวเลข)
    
    document.write("<br>");
    var str1 = "Hello";
    var str2 = "World";
    document.write(str1 + " " + str2); // "Hello World"
  </script>
</body>
</html>

กฎการแปลงชนิดข้อมูล (Type Coercion)

JavaScript จะพยายามแปลง operand ให้เป็นชนิดเดียวกัน:

Operand 1Operand 2ผลลัพธ์ประเภท
NumberNumberบวกเลขNumber
StringStringต่อข้อความString
NumberStringต่อข้อความString
StringNumberต่อข้อความString
BooleanNumberบวกเลข (true=1, false=0)Number
nullNumberบวกเลข (null=0)Number
undefinedNumberNaNNumber

ตัวอย่างการแปลงชนิด

5 + 3        // 8 (Number)
"5" + 3      // "53" (String)
5 + "3"      // "53" (String)
true + 1     // 2 (Number)
false + 5    // 5 (Number)
null + 10    // 10 (Number)
undefined + 1 // NaN (Number)
[] + 1       // "1" (String - array แปลงเป็น "")
[1,2] + 3    // "1,23" (String)

เคล็ดลับ: การแปลงเป็นตัวเลขอย่างรวดเร็ว

+"5"     // 5 (Unary +)
-"5"     // -5
"5" - 0  // 5
Number("5") // 5 (ชัดเจนกว่า)

ข้อควรระวัง

  • ลำดับการทำงาน: จากซ้ายไปขวา (Left-to-right associativity)
  • "5" + 2 + 3 = "523" (String) แต่ 2 + 3 + "5" = "55" (Number บวกก่อน แล้วต่อ String)
  • ใช้ Template Literals (`${a} ${b}`) แทนการต่อสตริงด้วย + เพื่ออ่านง่ายกว่า