Dark mode
Operators ตัวดำนเนินการ
Arithmetic Operators
ใช้ในการคำนวณทางคณิตศาสตร์พื้นฐาน เช่น บวก ลบ คูณ หาร
js
let a = 10, b = 3;
// ตัวดำเนินการพื้นฐาน
console.log(a + b); // 13 (บวก)
console.log(a - b); // 7 (ลบ)
console.log(a * b); // 30 (คูณ)
console.log(a / b); // 3.333... (หาร)
// ตัวดำเนินการเพิ่มเติม
console.log(a % b); // 1 (หารเอาเศษ)
console.log(a ** b); // 1000 (ยกกำลัง)
Assignment Operators
ใช้ในการกำหนดค่าให้กับตัวแปร โดยสามารถทำการคำนวณไปพร้อมกันได้
js
let x = 5;
x += 3; // เท่ากับ x = x + 3 (บวกแล้วกำหนดค่า)
x -= 2; // เท่ากับ x = x - 2 (ลบแล้วกำหนดค่า)
x *= 4; // เท่ากับ x = x * 4 (คูณแล้วกำหนดค่า)
x /= 2; // เท่ากับ x = x / 2 (หารแล้วกำหนดค่า)
x %= 3; // เท่ากับ x = x % 3 (หารเอาเศษแล้วกำหนดค่า)
x **= 2; // เท่ากับ x = x ** 2 (ยกกำลังแล้วกำหนดค่า)
Comparison Operators
ใช้ในการเปรียบเทียบค่าระหว่างตัวแปร โดยผลลัพธ์จะเป็น true หรือ false
js
let x = 5, y = "5";
// เปรียบเทียบค่าโดยไม่สนใจชนิดข้อมูล
console.log(x == y); // true
console.log(x != y); // false
// เปรียบเทียบทั้งค่าและชนิดข้อมูล
console.log(x === y); // false
console.log(x !== y); // true
// เปรียบเทียบขนาด
console.log(x > 3); // true
console.log(x <= 5); // true
Logical Operators
ใช้ในการทำงานกับเงื่อนไขหลายๆ อัน เพื่อให้ได้ผลลัพธ์ทางตรรกะ
js
let isAdmin = true;
let isLoggedIn = false;
console.log(isAdmin && isLoggedIn); // false (ต้องจริงทั้งคู่)
console.log(isAdmin || isLoggedIn); // true (จริงอย่างน้อยหนึ่งอัน)
console.log(!isAdmin); // false (กลับค่าความจริง)
Bitwise Operators
ใช้ในการดำเนินการกับตัวเลขในระดับบิต
js
let a = 5, b = 3;
console.log(a & b); // 1 (AND ระดับบิต)
console.log(a | b); // 7 (OR ระดับบิต)
console.log(a ^ b); // 6 (XOR ระดับบิต)
console.log(~a); // -6 (NOT ระดับบิต)
console.log(a << 1); // 10 (เลื่อนบิตซ้าย)
console.log(a >> 1); // 2 (เลื่อนบิตขวา)
String Operators
ใช้ในการจัดการและรวมสตริง
js
let str1 = "Hello", str2 = "World";
console.log(str1 + " " + str2); // "Hello World" (รวมสตริง)
str1 += " JS"; // "Hello JS" (รวมและกำหนดค่าสตริง)
Conditional (Ternary) Operator
ใช้ในการเขียนเงื่อนไขแบบสั้นๆ ในบรรทัดเดียว
js
let age = 20;
let status = (age >= 18) ? "ผู้ใหญ่" : "เด็ก";
console.log(status); // "ผู้ใหญ่"
Nullish Coalescing Operator
ใช้กำหนดค่าเริ่มต้นเมื่อตัวแปรเป็น null หรือ undefined
js
let user = null;
console.log(user ?? "Guest"); // "Guest"
Optional Chaining Operator
ใช้เข้าถึงคุณสมบัติของออบเจ็กต์อย่างปลอดภัย โดยไม่เกิด error
js
let user = {};
console.log(user?.address?.street); // undefined
Type Operators
ใช้ตรวจสอบประเภทของข้อมูลหรือออบเจ็กต์
js
let arr = [];
console.log(typeof arr); // "object"
console.log(arr instanceof Array); // true
Unary Operators
ใช้กับตัวแปรเพียงตัวเดียว เพื่อเปลี่ยนแปลงค่าหรือตรวจสอบประเภท
js
let a = 5;
console.log(+a); // 5 (แปลงเป็นตัวเลข)
console.log(-a); // -5 (เปลี่ยนเครื่องหมาย)
console.log(++a); // 6 (เพิ่มค่าก่อนใช้)
console.log(a--); // 6 (ใช้ค่าก่อนลด)
console.log(typeof a); // "number" (ตรวจสอบประเภท)