
JavaScript Operators ตัวดำเนินการในจาวาสคริปต์
ภาษาโปรแกรมทุก ๆ ภาษา ย่อมมีตัวดำเนินการ เช่น บวก ลบ คูณ หาร กำหนดค่า เปรียบเทียบค่า เป็นต้น ซึ่งถือว่าเป็นสิ่งที่ภาษาโปรแกรมจะต้องมี และภาษาจาวาสคริปต์ก็มีตัวดำเนินการให้เราใช้งานมากมาย ดังนี้ครับ
Arithmetic Operators ตัวดำเนินการด้านคณิตศาสตร์
Arithmetic Operators หรือ ตัวดำเนินการด้านคณิตศาสตร์ ใช้สำหรับดำเนินการด้านการคำนวณ เอาไว้ใช้งานกับข้อมูลชนิดตัวเลข เช่น บวก ลบ คูณ หาร เป็นต้น ซึ่งมีตัวดำเนินการต่าง ๆ ดังนี้
ตัวดำเนินการ | คำอธิบาย |
+ | เครื่องหมายบวก |
– | เครื่องหมายลบ |
* | เครื่องหมายคูณ |
** | เครื่องหมายยกกำลัง (ES2016) |
/ | เครื่องหมายหาร |
% | Modulus (หารเอาเศษ) |
++ | เพิ่มค่าทีละ 1 |
— | ลดค่าทีละ 1 |
Assignment Operators ตัวดำเนินการด้านการกำหนดค่า
Assignment Operators คือตัวดำเนินการด้านการกำหนดค่า ใช้สำหรับกำหนดค่าให้กับตัวแปร ซึ่งมีตัวดำเนินการให้ใช้งานดังนี้
ตัวดำเนินการ | คำอธิบาย | ตัวอย่างการใช้งาน |
= | ใช้กำหนดค่าให้กับตัวแปร | a = 5 |
+= | นำค่าจากตัวแปรด้านหลังมาบวกกับตัวแปรด้านหน้าแล้วกำหนดค่าให้ตัวแปรด้านหน้า | a += b |
-= | นำค่าจากตัวแปรด้านหน้าไปลบกับตัวแปรด้านหลังแล้วกำหนดค่าให้กับตัวแปรด้านหน้า | a -= b |
*= | นำค่าจากตัวแปรด้านหน้าไปคูณกับตัวแปรด้านหลังแล้วกำหนดค่าให้กับตัวแปรด้านหน้า | a *= b |
/= | นำค่าจากตัวแปรด้านหน้าไปหารกับตัวแปรด้านหลังแล้วกำหนดค่าให้กับตัวแปรด้านหน้า | a /= b |
%= | นำค่าจากตัวแปรด้านหน้าไปหารกับตัวแปรด้านหลัง (เอาเฉพาะเศษ) แล้วกำหนดค่าให้กับตัวแปรด้านหน้า | a %= b |
**= | นำค่าจากตัวแปรด้านหน้าไปยกกำลังกับตัวแปรด้านหลังแล้วกำหนดค่าให้กับตัวแปรด้านหน้า | a **= b |
String Operators ตัวดำเนินการด้านสตริง
String Operators ใช้สำหรับดำเนินการกับสตริง เราสามารถใช้ตัวดำเนินการ + หรือ += สำหรับการดำเนินการกับสตริง ซึ่งจะเป็นการต่อสตริงเข้าด้วยกัน
ตัวอย่างการใช้เครื่องหมาย + ต่อสตริง
var a = "www."; var b = "dcrub"; var c = ".com"; d = a + b + c; // d = "www.dcrub.com"
ตัวอย่างการใช้เครื่องหมาย += ต่อสตริง
var a = "www."; var b = "dcrub"; var c = ".com"; a += b; a += c; // a = "www.dcrub.com"
ถ้าเอาตัวเลขกับสตริงมาบวกกัน จะได้ผัลลัพธ์เป็นสตริง ดังตัวอย่าง
var a = 2020; var b = "javascript"; c = b + a; // c = "javascript2020" x = 2019; y = "2020"; z = x + y; // z = "20192020"
Comparison Operators ตัวดำเนินการด้านการเปรียบเทียบ
Comparison Operators หรือตัวดำเนินการด้านการเปรียบเทียบ ใช้สำหรับเปรียบเทียบค่าของตัวแปร มีตัวดำเนินการในกลุ่มดังนี้
ตัวดำเนินการ | คำอธิบาย |
== | เปรียบเทียบค่าของตัวแปรว่าเท่ากันหรือไม่ |
=== | เปรียบเทียบค่าของตัวแปรว่าเท่ากันหรือไม่ พร้อมทั้งเปรียบเทียบชนิดของตัวแปรว่าเป็นตัวแปรชนิดเดียวกันหรือไม่ |
!= | เปรียบเทียบค่าของตัวแปรว่าไม่เท่ากันหรือไม่ |
!== | เปรียบเทียบค่าของตัวแปรว่าไม่เท่ากันหรือไม่ พร้อมทั้งเปรียบเทียบชนิดของตัวแปรว่าไม่ใช่ตัวแปรชนิดเดียวกันหรือไม่ |
> | เปรียบเทียบว่าค่าของตัวแปรด้านซ้ายมีค่ามากกว่าตัวแปรด้านขวาหรือไม่ |
< | เปรียบเทียบว่าค่าของตัวแปรด้านซ้ายมีค่าน้อยกว่าตัวแปรด้านขวาหรือไม่ |
>= | เปรียบเทียบว่าค่าของตัวแปรด้านซ้ายมีค่ามากกว่าหรือเท่ากับตัวแปรด้านขวาหรือไม่ |
<= | เปรียบเทียบว่าค่าของตัวแปรด้านซ้ายมีค่าน้อยกว่าหรือเท่ากับตัวแปรด้านขวาหรือไม่ |
? | ตัวดำเนินการ ternary |
Logical Operators ตัวดำเนินการด้านตรรกะ
Logical Operators ใช้สำหรับดำเนินการด้านตรรกะ มีตัวดำเนินการในกลุ่มดังนี้
ตัวดำเนินการ | คำอธิบาย |
&& | ตรรกะ and |
|| | ตรรกะ or |
! | ตรรกะ not |
Type Operators ตัวดำเนินการด้านชนิดข้อมูล
Type Operators เป็นตัวดำเนินการที่ใช้สำหรับตรวจสอบชนิดข้อมูลของตัวแปร มีตัวดำเนินการดังนี้
ตัวดำเนินการ | คำอธิบาย |
typeof | คืนค่าเป็นชนิดข้อมูลของตัวแปร |
instanceof | คืนค่า true ในกรณีที่ object ที่ตรวจสอบ เป็น instance ของประเภทของออบเจ็กต์ที่ระบุ |
Bitwise Operators ตัวดำเนินการระดับบิต
Bitwise Operators หรือตัวดำเนินการระดับบิต มีตัวดำเนินการในกลุ่มดังนี้
ตัวดำเนินการ | คำอธิบาย | ตัวอย่าง |
& | AND | 6 & 2 |
| | OR | 3 | 1 |
~ | NOT | 4 ~ 6 |
^ | XOR | 7 ^ 5 |
<< | Zero fill left shift | 5 << 1 |
>> | Signed right shift | 5 >> 1 |
>>> | Zero fill right shift | 5 >>> 1 |