Bỏ qua nội dung

Kiểu dữ liệu never

Kiểu never biểu diễn các giá trị không bao giờ xảy ra. Nó được dùng để biểu thị các hàm hoặc biểu thức không bao giờ trả về hoặc luôn throw lỗi.

Ví dụ, một vòng lặp vô hạn:

const infiniteLoop = (): never => {
while (true) {
// làm điều gì đó
}
};

Throw một lỗi:

const throwError = (message: string): never => {
throw new Error(message);
};

Kiểu never hữu ích để bảo đảm an toàn kiểu và phát hiện các lỗi tiềm ẩn trong mã. Nó giúp TypeScript phân tích và suy luận các kiểu chính xác hơn khi được dùng kết hợp với các kiểu khác và câu lệnh luồng điều khiển, ví dụ:

type Direction = 'up' | 'down';
const move = (direction: Direction): void => {
switch (direction) {
case 'up':
// di chuyển lên
break;
case 'down':
// di chuyển xuống
break;
default:
const exhaustiveCheck: never = direction;
throw new Error(`Unhandled direction: ${exhaustiveCheck}`);
}
};