⊗tsSpOpSPO 15 of 37 menu

คุณสมบัติแบบสแตติกใน TypeScript

ลองมาดูวิธีการเข้าถึง คุณสมบัติแบบสแตติกภายในอ็อบเจ็กต์กัน

สมมติว่าเรามีคลาสต่อไปนี้ที่มี คุณสมบัติแบบสแตติก:

class User { public name: string; public static salary: number = 1000; constructor(name: string) { this.name = name; } }

ตอนนี้เรามาสร้างเมธอดที่แสดง เงินเดือนทั้งหมดกัน:

class User { public name: string; public static salary: number = 1000; constructor(name: string) { this.name = name; } getSalary(): number { return User.salary; // เข้าถึงผ่านชื่อคลาส } }

ตอนนี้เรามาสร้างเมธอดที่เปลี่ยน เงินเดือนทั้งหมดกัน:

class User { public name: string; public static salary: number = 1000; constructor(name: string) { this.name = name; } getSalary(): number { return User.salary; } setSalary(salary: number) { User.salary = salary; } }

คุณสมบัติแบบสแตติกจะใช้ร่วมกันสำหรับ อ็อบเจ็กต์ต่างๆ นั่นหมายความว่าเมื่อ คุณสมบัตินี้เปลี่ยนแปลงในอ็อบเจ็กต์หนึ่ง มันก็จะ เปลี่ยนในอ็อบเจ็กต์อื่นด้วย ลองตรวจสอบดู

สร้างอ็อบเจ็กต์สองตัวจากคลาสของเรา:

let user1: User = new User('john'); let user2: User = new User('eric');

ลองเปลี่ยนเงินเดือนสำหรับ user คนแรก กัน:

user1.setSalary(2000);

ตรวจสอบว่าเงินเดือนเปลี่ยนไปสำหรับ user คนที่สองด้วย:

console.log(user2.getSalary()); // 2000

ตรวจสอบว่าเงินเดือนยังเปลี่ยนใน คุณสมบัติของคลาสเองด้วย:

console.log(User.salary); // 2000

ในคลาส Student ให้เพิ่มคุณสมบัติแบบสแตติก university แสดงคุณสมบัตินี้ โดยไม่ต้องประกาศอ็อบเจ็กต์

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ