Skip to content

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" (ตรวจสอบประเภท)