تخطَّ إلى المحتوى

نوع Never

يمثّل النوع never القيم التي لا تحدث مطلقًا. ويُستخدم للدلالة على الدوال أو التعبيرات التي لا تعود مطلقًا أو ترمي خطأً.

على سبيل المثال، حلقة لا نهائية:

const infiniteLoop = (): never => {
while (true) {
// do something
}
};

رمي خطأ:

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

النوع never مفيد في ضمان أمان الأنواع واكتشاف الأخطاء المحتملة في شيفرتك. فهو يساعد TypeScript على تحليل أنواع أكثر دقة واستدلالها عند استخدامه مع أنواع أخرى وتعليمات تدفق التحكم، على سبيل المثال:

type Direction = 'up' | 'down';
const move = (direction: Direction): void => {
switch (direction) {
case 'up':
// move up
break;
case 'down':
// move down
break;
default:
const exhaustiveCheck: never = direction;
throw new Error(`Unhandled direction: ${exhaustiveCheck}`);
}
};