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.3333... (หาร)
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
ใช้สำหรับเปรียบเทียบค่า
js
let a = 5, b = '5';
console.log(a == b); // true (เท่ากับ ไม่สนใจ type)
console.log(a === b); // false (เท่ากับ สนใจ type)
console.log(a != b); // false (ไม่เท่ากับ ไม่สนใจ type)
console.log(a !== b); // true (ไม่เท่ากับ สนใจ type)
console.log(a > 3); // true (มากกว่า)
console.log(a <= 5); // true (น้อยกว่าหรือเท่ากับ)
Logical Operators
ใช้สำหรับการทำงานเชิงตรรกะ
js
let x = true, y = false;
console.log(x && y); // false (และ)
console.log(x || y); // true (หรือ)
console.log(!x); // 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 (Left shift)
console.log(a >> 1); // 2 (Right shift)
String Operators
ใช้สำหรับการจัดการกับสตริง
js
let str1 = "Hello", str2 = "World";
console.log(str1 + " " + str2); // "Hello World" (concatenation)
str1 += " JS"; // "Hello JS" (concatenation assignment)
Conditional (Ternary) Operator
ใช้สำหรับการตัดสินใจแบบสั้น
js
let age = 20;
let status = (age >= 18) ? "ผู้ใหญ่" : "เด็ก";
console.log(status); // "ผู้ใหญ่"
Nullish Coalescing Operator
ใช้สำหรับการกำหนดค่าเริ่มต้นเมื่อค่าเป็น null หรือ undefined
js
let name = null;
let displayName = name ?? "Anonymous";
console.log(displayName); // "Anonymous"
Optional Chaining Operator
ใช้สำหรับการเข้าถึงคุณสมบัติของ object ที่อาจเป็น null หรือ undefined
js
let user = { name: "John" };
console.log(user?.address?.street); // undefined (ไม่เกิด error)
Unary Operators
ใช้กับตัวถูกดำเนินการตัวเดียว
js
let a = 5;
console.log(+a); // 5 (unary plus)
console.log(-a); // -5 (unary negation)
console.log(++a); // 6 (prefix increment)
console.log(a--); // 6 (postfix decrement, a becomes 5)
console.log(typeof a); // "number"