Trong TypeScript, biến private
và kiểu type
là hai khái niệm hoàn toàn khác nhau, phục vụ cho những mục đích khác nhau trong lập trình. Dưới đây là sự khác biệt chính giữa chúng:
private
private
là một thành viên của một class và chỉ có thể được truy cập từ bên trong class đó. Điều này giúp bảo vệ dữ liệu và đảm bảo rằng các thuộc tính không bị thay đổi từ bên ngoài.private
được sử dụng để ẩn thông tin nội bộ và chỉ cho phép truy cập thông qua các phương thức công khai (public methods). Điều này thực hiện nguyên tắc đóng gói (encapsulation) trong lập trình hướng đối tượng.private
, bạn sử dụng từ khóa private
trước thuộc tính hoặc phương thức.Ví dụ về biến private
:
class User { private password: string; constructor(password: string) { this.password = password; } public getPassword(): string { return this.password; // Có thể truy cập password từ bên trong class } } const user = new User("mySecret"); // console.log(user.password); // Lỗi: password là private console.log(user.getPassword()); // Hợp lệ: truy cập qua phương thức công khai
type
type
trong TypeScript được sử dụng để tạo ra các alias (biệt danh) cho các kiểu dữ liệu khác nhau. Điều này cho phép bạn định nghĩa các kiểu dữ liệu phức tạp một cách đơn giản và dễ đọc hơn.type
được sử dụng để cải thiện khả năng đọc và bảo trì mã, cũng như để đảm bảo rằng các giá trị thuộc về các kiểu dữ liệu mà bạn đã định nghĩa.type
theo sau là tên kiểu và định nghĩa kiểu dữ liệu.Ví dụ về kiểu type
:
type Point = { x: number; y: number; }; const point: Point = { x: 10, y: 20, }; // Kiểu union type Response = "success" | "error"; let apiResponse: Response = "success";
Tiêu chí | Biến private | Kiểu type |
---|---|---|
Khái niệm | Thành viên của class, sử dụng để ẩn thông tin | Alias cho các kiểu dữ liệu |
Mục đích | Bảo vệ dữ liệu và thực hiện nguyên tắc đóng gói | Tạo kiểu dữ liệu dễ đọc và tái sử dụng |
Sử dụng | Trong các class | Có thể sử dụng trong bất kỳ tệp nào |
Cú pháp | private propertyName: Type | type AliasName = TypeDefinition |
Truy cập | Không thể truy cập từ bên ngoài class | Không có khái niệm truy cập |
Biến private
và kiểu type
là hai khái niệm khác nhau trong TypeScript, phục vụ cho những mục đích riêng biệt. Biến private
được sử dụng trong lập trình hướng đối tượng để bảo vệ dữ liệu bên trong một class, trong khi kiểu type
được sử dụng để định nghĩa các kiểu dữ liệu mới, giúp mã trở nên dễ đọc và dễ bảo trì hơn. Việc hiểu rõ sự khác biệt này sẽ giúp bạn viết mã hiệu quả hơn trong TypeScript.