| Làm Chủ Biến, Hằng Số (final, const) Và Cơ Chế Null Safety Trong Ngôn Ngữ Dart

Được viết bởi thanhdt vào ngày 01/06/2026 lúc 19:54 | 13 lượt xem

Ngôn ngữ Dart là nền tảng cốt lõi của Flutter. Để code app không bị crash (sập nguồn giữa chừng), bạn phải làm chủ cách khai báo biến và cơ chế Null Safety.

1. Phân biệt rõ final vs const trong Dart

  • final: Hằng số được xác định giá trị ở thời điểm chạy chương trình (Runtime constant). Ví dụ: final DateTime now = DateTime.now();.
  • const: Hằng số được xác định ngay từ thời điểm biên dịch chương trình (Compile-time constant). Ví dụ: const double pi = 3.14159;. Sử dụng const cho các Widget tĩnh trong Flutter giúp tối ưu bộ nhớ cực tốt.

2. Cơ chế Sound Null Safety là gì?

Null Safety ngăn chặn lỗi phổ biến nhất trong lập trình: truy cập vào một giá trị null (Null Pointer Exception).
* Non-nullable (Mặc định): Biến khai báo bình thường không được phép gán trị null: String name = 'DNT';.
* Nullable (Cho phép null): Thêm dấu chấm hỏi ? sau kiểu dữ liệu để khai báo biến có thể nhận trị null: String? address;.

3. Các toán tử Null Safety đắt giá

  • Toán tử gán nếu null ??=: Gán giá trị chỉ khi biến đang mang trị null.
  • Toán tử kiểm tra null ?.: Gọi phương thức an toàn, nếu null sẽ trả về null mà không gây crash app.
  • Toán tử ép buộc !: Khẳng định chắc chắn biến không null (hạn chế dùng để tránh lỗi runtime).