استدلال النوع هو قيام TypeScript بتحديد الأنواع تلقائياً من السياق، بحيث لا تضطر إلى إضافة تعليقات توضيحية لكل شيء. يتم الاستدلال من القيم الأولية والعبارات المرجعية والاستخدام.
ts
x = ;
s = ;
arr = [, ];
obj = { : , : };
استدلال النوع هو قيام TypeScript بتحديد الأنواع تلقائياً من السياق، بحيث لا تضطر إلى إضافة تعليقات توضيحية لكل شيء. يتم الاستدلال من القيم الأولية والعبارات المرجعية والاستخدام.
x = ;
s = ;
arr = [, ];
obj = { : , : };
function double(n: number) { return n * 2; } // return inferred as number
[1, 2, 3].map(n => n * 2); // `n` inferred as number from the array — no annotation needed
هذا الاستدلال السياقي هو السبب في أن الـ callbacks نادراً ما تحتاج إلى تعليقات توضيحية للمعاملات — TypeScript يعرف أن map على number[] يمرر number.
let a = "hello"; // widened to string (let can be reassigned)
const b = "hello"; // narrowed to the literal type "hello"
const يستدل بـ النوع الحرفي لأنه لا يمكن أن يتغير أبداً؛ let يتوسع إلى النوع العام. هذا مهم للـ unions:
const dir = "up"; // type "up"
let dir2 = "up"; // type string
string وليس الحرفي).const xs = [] يستدل any[] — أضف تعليقاً توضيحياً كـ number[].الاستدلال يحافظ على كود TypeScript متطابقاً تقريباً مع JavaScript مع البقاء مكتوباً بالكامل.
فهم متى يبدأ (ومتى يتوسع) يسمح لك بإضافة تعليقات توضيحية فقط حيث يساعد بالفعل.
مكتبة من أسئلة مقابلات تقنية المعلومات مع إجابات مفصّلة — من المبتدئ إلى المتقدم.
تبرع