Menu
CoddyTech

Thuộc tính tĩnh

Thuộc phần Lập trình hướng đối tượng trong hành trình JavaScript của Coddy. Bài học 32 trên 56.

Thuộc tính tĩnh thuộc về chính lớp, không thuộc về các đối tượng của lớp. Chúng được dùng chung cho mọi đối tượng.

Định nghĩa một lớp có thuộc tính tĩnh:

class Counter {
  // Định nghĩa một thuộc tính tĩnh
  static count = 0;
  
  constructor() {
    // Tăng biến đếm tĩnh mỗi khi tạo một instance mới
    Counter.count++;
  }
}

Truy cập thuộc tính tĩnh bằng tên lớp:

console.log(Counter.count); // 0

// Tạo một vài instance
const counter1 = new Counter();
const counter2 = new Counter();

console.log(Counter.count); // 2

Thuộc tính tĩnh hữu ích cho các giá trị cần được chia sẻ giữa mọi instance hoặc cho các hằng số cấp lớp. Ví dụ:

class MathConstants {
  static GOLDEN_RATIO = 1.61803;
}

console.log(MathConstants.GOLDEN_RATIO); // 1.61803
challenge icon

Thử thách

Thêm các thuộc tính tĩnh PI và E vào lớp MathConstants:

  1. Thuộc tính tĩnh PI được đặt thành 3.14159
  2. Thuộc tính tĩnh E được đặt thành 2.71828

Tự làm thử

import { MathConstants } from './constants.js';

// Code kiểm thử, đừng sửa
console.log(MathConstants.PI);        // Đầu ra phải là 3.14159
console.log(MathConstants.E);         // Đầu ra phải là 2.71828
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Lập trình hướng đối tượng

Tự luyện tập: Trình biên dịch JavaScript online