Static properties (thuộc tính tĩnh)
Một thuộc tính tĩnh được truy cập bởi trực tiếp từ tên class mà không phải khởi tạo đối tượng từ class đó.
Để khai báo một thuộc tính tĩnh, bạn sử dụng từ khóa static . Để truy cập một thuộc tính tĩnh, bạn sử dụng cú pháp: className.propertyName , ví dụ:
class Employee {
static headcount: number = 0;
constructor(
private firstName: string,
private lastName: string,
private jobTitle: string) {
Employee.headcount++;
}
}
Trong ví dụ trên, headcount là một thuộc tính tĩnh và được khởi tạo giá trị ban đầu là 0. Giá trị của nó được tăng lên 1 bất cứ khi nào một đối tượng mới được tạo, ví dụ.
let john = new Employee('John', 'Doe', 'Front-end Developer');
let jane = new Employee('Jane', 'Doe', 'Back-end Developer');
console.log(Employee.headcount); // 2
Static methods (phương thức tĩnh)
Giống như thuộc tính tĩnh , một phương thức tĩnh cũng được truy cập trực tiếp từ tên class mà không cần phải khởi tạo đối tượng. Để khai báo một phương thức tĩnh, bạn sử dụng từ khóa static trước tên phương thức, ví dụ:
class Employee {
private static headcount: number = 0;
constructor(
private firstName: string,
private lastName: string,
private jobTitle: string) {
Employee.headcount++;
}
public static getHeadcount() {
return Employee.headcount;
}
}
Để gọi một phương thức tĩnh, bạn sử dụng cú pháp: className.staticMethod() , ví dụ:
let john = new Employee('John', 'Doe', 'Front-end Developer');
let jane = new Employee('Jane', 'Doe', 'Back-end Developer');
console.log(Employee.getHeadcount); // 2
Tóm tăt:
- Các thuộc tính và phương thức tĩnh thì có thể truy cập trực tiếp từ className.
- Sử dụng từ khóa static trước một thuộc tính hoặc phương thức để làm cho nó trở nên tĩnh.
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf 1. Bảo vệ khỏi tấn công DoS bằng giới hạn số...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ ứng dụng hoạt động trên Linux như một firewall được phát hành miễn phí để tăng tính bảo mật cho server (VPS & Dedicated)....
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
V. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp) 5. Bypass lỗ hổng khi trang web sử dụng đường dẫn đầy đủ Xét đoạn code php sau: <?php if (isset($_GET['file'])) { $file...
Directory traversal vulnerabilities (phần 3)
V. Phân tích và khai thác các lỗ hổng Directory traversal 1. Lỗ hổng xảy ra khi sử dụng các hàm đọc file và tin tưởng đầu vào người dùng Xét đoạn code php sau:...
Directory traversal vulnerabilities (phần 2)
III. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi ngôn ngữ lập trình khác nhau, điểm xuất hiện các lỗ hổng Directory traversal cũng khác nhau. Lỗ hổng thường xuất hiện khi chương...