JavaScript เป็นภาษาที่มีการใช้งานกันอย่างแพร่หลายทั่วโลก แต่ทว่า มันได้พัฒนาตัวเองอย่างต่อเนื่อง ในปี 2015 มีการเปิดตัว ECMAScript 6 (ES6) ที่นำเสนอแนวคิดเกี่ยวกับ `class` เป็นครั้งแรก เมื่อเราได้ยินคำว่าคลาส (class) ผู้ที่มีพื้นฐานจากภาษาโปรแกรมเชิงวัตถุ (Object-Oriented Programming: OOP) อยู่แล้วคงจะคุ้นเคยกันดี ซึ่งมันช่วยให้การเขียนโค้ดมีโครงสร้างที่ชัดเจน และง่ายต่อการจัดการมากขึ้น
ก่อนอื่นมาทำความเข้าใจกันก่อนว่า class คืออะไร โดยทั่วไปแล้ว class ในภาษาการเขียนโปรแกรมเชิงวัตถุ หมายถึง blueprint หรือแผนผังสำหรับการสร้างวัตถุ (object) ซึ่งประกอบด้วยแอตทริบิวต์ (attributes) และเมธอด (methods) ที่อธิบายพฤติกรรมของออบเจ็กต์ที่ถูกสร้างขึ้น
การประกาศ class ใน JavaScript ทำได้โดยใช้คีย์เวิร์ด `class` ตามด้วยชื่อ class แล้วตามด้วยชุดของบล็อกโค้ดที่นิยามเมธอดต่างๆ ตัวอย่างเช่น:
class Animal {
constructor(name, type) {
this.name = name;
this.type = type;
}
speak() {
console.log(`${this.name} says hello!`);
}
}
// สร้างอินสแตนซ์ของ Animal
const dog = new Animal('Buddy', 'Dog');
dog.speak(); // Output: Buddy says hello!
ในตัวอย่างด้านบน `Animal` เป็น class ที่มี constructor ซึ่งใช้ในการกำหนดค่าเริ่มต้นให้กับออบเจ็กต์ `name` และ `type` โดยมีเมธอด `speak` ที่พิมพ์ข้อความทักทาย
Class ใน JavaScript สนับสนุนการสืบทอดโดยใช้คำสั่ง `extends` ซึ่งจะใช้เมื่อต้องการสืบทอดพฤติกรรมจาก class อื่น ตัวอย่างดังนี้:
class Dog extends Animal {
constructor(name, breed) {
super(name, 'Dog'); // เรียกใช้ constructor ของคลาสแม่
this.breed = breed;
}
bark() {
console.log(`${this.name} barks loudly!`);
}
}
const myDog = new Dog('Max', 'Golden Retriever');
myDog.speak(); // Output: Max says hello!
myDog.bark(); // Output: Max barks loudly!
ในตัวอย่างนี้ `Dog` เป็น class ที่สืบทอดมาจาก `Animal` เราใช้ `super` เพื่อเรียก constructor ของ `Animal` และเพิ่มเมธอดใหม่คือ `bark`
Encapsulation ใน ES6 Class ไม่ได้มีการรองรับการปกปิดข้อมูลเป็น private member อย่างแท้จริง แต่เราสามารถใช้ convenction หรือสัญลักษณ์ (`#`) ใน ES2022 เป็นต้นไปเพื่อทำให้เมมเบอร์เป็น private ตัวอย่างเช่น:
class Cat {
#name;
constructor(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
const myCat = new Cat('Whiskers');
console.log(myCat.getName()); // Output: Whiskers
ในตัวอย่างนี้ `#name` เป็น private field และสามารถถูกเข้าถึงได้โดยเมธอด `getName`
การใช้ class ใน JavaScript ช่วยให้การเขียนโปรแกรมมีความเป็นระเบียบและเป็นระบบมากขึ้น ด้วย class คุณสามารถสร้างโปรแกรมที่มีโครงสร้างเชิงวัตถุ ซึ่งสามารถเพิ่มเติมขยายและบำรุงรักษาได้ง่าย ถ้าคุณกำลังสนใจในการพัฒนาทักษะโปรแกรมของคุณ โดยเฉพาะใน JavaScript การเรียนรู้และทำความเข้าใจเกี่ยวกับ class จะเป็นประโยชน์อย่างยิ่ง
สำหรับผู้ที่มีความสนใจในการเรียนรู้เพิ่มเติมเกี่ยวกับ JavaScript และการเขียนโปรแกรม การเข้าศึกษาที่สถาบันสอนเขียนโปรแกรม เช่น EPT (Expert-Programming-Tutor) อาจเป็นทางเลือกที่น่าสนใจ ซึ่งจะช่วยส่งเสริมความรู้และทักษะของคุณในแบบที่ครอบคลุมและลึกซึ้งมากยิ่งขึ้น
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
Tag ที่น่าสนใจ: java c# vb.net python c c++ machine_learning web database oop cloud aws ios android
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM