Skip to content
Siamcoder

การสร้างและใช้งานเมทอดใน TypeScript

typescript1 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()