การสร้างและใช้งานเมทอดใน TypeScript
— typescript — 1 min read
เมื่อเราพัฒนาแอปพลิเคชันใน TypeScript เราสามารถสร้างและใช้งานเมธอด (method) เพื่อจัดการกับการกระทำหรือการประมวลผลที่ซ้ำซ้อนได้โดยมีโครงสร้างดังนี้:
class Calculator { add(a: number, b: number): number { return a + b; }
subtract(a: number, b: number): number { return a - b; }
multiply(a: number, b: number): number { return a * b; }
divide(a: number, b: number): number { return a / b; }}`
ในตัวอย่างข้างต้น เราสร้างคลาส Calculator
ที่มีเมธอดต่างๆ เพื่อทำการคำนวณทางคณิตศาสตร์ เช่น add
เพื่อบวกเลข, subtract
เพื่อลบเลข, multiply
เพื่อคูณเลข และ divide
เพื่อหารเลข
เราสามารถใช้งานเมธอดเหล่านี้ได้โดยสร้างอินสแตนซ์ของคลาส Calculator
และเรียกใช้เมธอดตามต้องการ เ ช่น:
let calculator = new Calculator();
let sum = calculator.add(5, 3);console.log(sum); // 8
let difference = calculator.subtract(10, 6);console.log(difference); // 4
let product = calculator.multiply(4, 2);console.log(product); // 8
let quotient = calculator.divide(10, 2);console.log(quotient); // 5`
ในตัวอย่างข้างต้น เราสร้างอินสแตนซ์ของคลาส Calculator
โดยใช้คำสั่ง new Calculator()
และเรียกใช้เมธอดต่างๆ ของคลาส Calculator
ผ่านอินสแตนซ์ calculator
โดยเราสามารถรับค่าผลลัพธ์จากการเรียกใช้เมธอดและแสดงผลลัพธ์ได้ผ่านคำสั่ง console.log()
นอกจากนี้ยังสามารถสร้างและใช้งานเมธอดแบบสแตติก (static method) ใน TypeScript ได้ด้วย โดยเมธอดแบบสแตติกจะถูกเรียกผ่านชื่อคลาสเอง โดยไม่ต้องสร้างอินสแตนซ์ของคลาสก่อน
ตัวอย่างเช่น:
class MathUtils { static square(number: number): number { return number * number; }
static cube(number: number): number { return number * number * number; }}`
ในตัวอย่างข้างต้น เราสร้างคลาส MathUtils
ที่มีเมธอด square
และ cube
ที่ใช้สำหรับคำนวณค่ากำลังสองและกำลังสามของตัวเลข โดยใช้เมธอดแบบสแตติก
เราสามารถเรียกใช้เมธอดแบบสแตติกโดยตรงผ่านชื่อคลาส เช่น:
let number = 5;
let squared = MathUtils.square(number);console.log(squared); // 25
let cubed = MathUtils.cube(number);console.log(cubed); // 125`
ในตัวอย่างข้างต้น เราเรียกใช้เมธอด square
และ cube
ของคลาส MathUtils
โดยตรงผ่านชื่อคลาส โดยไม่ต้องสร้างอินสแตนซ์ของคลาสก่อน และแสดงผลลัพธ์ผ่านคำสั่ง console.log()