ตัวดำเนินการคณิตศาสตร์
ตัวดำเนินการคณิตศาสตร์ (Arithmetic operator) หมายถึง
ใช้สำหรับคำนวณโอประแรนด์ที่เป็นค่าคงที่หรือตัวแปรก็ได้
โดยให้ค่าผลลัพธ์เป็นตัวเลขค่าเดียว โอประเรเตอร์
เชิงคณิตศาสตร์ที่คนส่วนใหญ่รู้จักคุ้นเคยกันมากที่สุดได้แก่
+
หมายถึง เครื่องหมายการบวก
-
หมายถึง เครื่องหมายการลบ
*
หมายถึง เครื่องหมายการคูณ
/
หมายถึง เครื่องหมายการหาร
%
หมายถึง เครื่องหมายหาเศษที่ได้จากการหารที่เรียกว่า โมดูลัส(Modulus)
++
หมายถึง เครื่องหมายการเพิ่มค่าที่เรียกว่า
อินครีเมนต์(increment)
โดยจะเพิ่มค่าครั้งละ 1
--
หมายถึง เครื่องหมายการลดค่าที่เรียกว่า
ดีครีเมนต์(decrement) โดยจะลดค่าครั้งละ
1
(-)
หมายถึง
เครื่องหมายแปลงค่าให้กลายเป็นค่าตรงกันข้ามกับค่าเดิมที่เรียกว่า
ยูนารีนีเกชัน (unary negation)
เช่น x = 20 %
3; ผลลัพธ์คือ x จะมีค่าเป็น 2
เช่น ถ้า x =
-100 ดังนั้น -x จะมีค่าเท่ากับ 100 เป็นต้น
ตัวดำเนินการเชิงเปรียบเทียบ
ตัวดำเนินการเชิงเปรียบเทียบ (Comparison operator) หมายถึง
เครื่องหมายในการเปรียบเทียบข้อมูล ผลลัพธ์ที่ได้จะมีค่าตรรกบูลลีนเป็น
จริง (True) และ เท็จ (False) ได้แก่
==
หมายถึง เครื่องหมายเท่ากับ
!=
หมายถึง เครื่องหมายไม่เท่ากับ
>
หมายถึง เครื่องหมายมากกว่า
>=
หมายถึง เครื่องหมายมากกว่าหรือเท่ากับ
<
หมายถึง เครื่องหมายน้อยกว่า
<=
หมายถึง เครื่องหมายน้อยกว่าหรือเท่ากับ
ตัวดำเนินการกำหนดค่า
ตัวดำเนินการกำหนดค่า (Assignment operator) หมายถึง
เครื่องหมายในการกำหนดให้ตัวแปรที่อยู่ทางฝั่งซ้าย
มีค่าเท่ากับค่าเดิมในตัวแปรนั้น "กระทำ" (บวก, ลบ, คูณ, หาร)
กับอีกตัวแปรหนึ่งที่อยู่ทางฝั่งขวา ได้แก่
x = y
หมายถึง กำหนดค่า y ให้กับตัวแปร x
x += y
หมายถึง เพิ่มค่า y ให้กับตัวแปร x (x = x + y)
x -= y
หมายถึง ลบค่า y ออกจากตัวแปร x (x = x - y)
x *= y
หมายถึง กำหนดค่า x คูณกับค่า y ให้กับตัวแปร x (x = x * y)
x /= y
หมายถึง กำหนดค่า x หารกับค่า y
ให้กับตัวแปร x (x = x / y)
x %= y
หมายถึง กำหนดเศษที่ได้จากการหารค่า x ด้วยค่า y ให้กับตัวแปร x (x = x
% y)
x <<= y
หมายถึง เลื่อนบิตในตัวแปร x ไปทางซ้าย y บิต (x
= x << y)
x >>= y
หมายถึง เลื่อนบิตในตัวแปร x ไปทางขวา y บิต (x
= x >> y)
x >>>= y
หมายถึง
เลื่อนบิตแบบซีโรฟิลล์ในตัวแปร x ไปทางขวา y บิต (x = x >>> y)
x &= y
หมายถึง เก็บค่า x AND y ในตัวแปร x (x =
x & y)
x ^= y
หมายถึง เก็บค่า x XOR y ในตัวแปร x (x = x ^ y)
x |= y
หมายถึง เก็บค่า x OR y ในตัวแปร x (x = x | y)
ตัวดำเนินการเชิงตรรกะ
ตัวดำเนินการเชิงตรรกะ (Logical operator)
เป็นเครื่องหมายที่ให้ค่าจริง (True) และ เท็จ (False)
ในการเปรียบเทียบ ประกอบด้วยเครื่องหมาย
&&
หมายถึง และ(AND)
จะเป็นจริงเมื่อค่าที่ใช้เปรียบเทียบทั้ง 2 ค่าเป็นจริงทั้งคู่
||
หมายถึง หรือ(OR) จะเป็นจริงเมื่อค่าที่ใช้เปรียบเทียบทั้ง 2
ค่าเป็นจริงทั้งคู่หรือจริงเพียงค่าใด ค่าหนึ่ง
!
หมายถึง ปฎิเสธ(NOT)
เป็นการแปลงค่าตรงกันข้าม จากจริงจะเป็นเท็จ และ จากเท็จจะเป็นจริ
ตัวดำเนินการเชิงข้อความ
ตัวดำเนินการเชิงข้อความ (String operator)
เป็นการเชื่อมประโยคข้อความเข้าด้วยกัน (concatenation)
โดยใช้เครื่องหมายบวก (+) เป็นตัวกระทำ
เช่น Name = "Bodin";
Say = "Hey "+Name;
ผลลัพธ์ที่ได้ Say จะมีข้อความเป็น Hey Bodin
ตัวดำเนินการระดับบิต
ตัวดำเนินการระดับบิต (Bitwise operator)
เป็นการดำเนินการเชิงตรรกะในระดับบิต โดยจะใช้มุมมองในแบบเลขฐาน 2
มาจัดการกับข้อมูล นั่นคือ
ข้อมูลตัวเลขนั้นจะถูกแปลงเป็นเลขฐานสองในหน่วยความจำในขณะที่มีการดำเนินการเชิงตรรกะในระดับบิต
ซึ่งโดยปกติแล้วการกระทำใน JavaScript จะอยู่ในระดับตัวอักษร
ที่เรียกว่า ระดับไบต์ (byte)
โดยตัวดำเนินการระดับบิตมีรายละเอียดดังนี้
x & y
หมายถึง ให้ผลลัพธ์การเทียบบิตแบบ AND ระหว่าง x กับ y
x | y
หมายถึง ให้ผลลัพธ์การเทียบบิตแบบ OR
ระหว่าง x กับ y
x ^ y
หมายถึง ให้ผลลัพธ์การเทียบบิตแบบ XOR
ระหว่าง x กับ y
~x
หมายถึง เพิ่มค่าบิตให้ 1
จากนั้นจะให้ผลลัพธ์ของบิตมีค่าตรงข้าม
x << y
หมายถึง เลื่อนบิตในตัวแปร x ไปทางซ้าย y บิต
x >> y
หมายถึง เลื่อนบิตในตัวแปร x ไปทางขวา y บิต
x >>> y
หมายถึง เลื่อนบิตแบบซีโรฟิลล์ในตัวแปร x
ไปทางขวา y บิต