النوع Unknown
في TypeScript، يمثّل النوع unknown قيمةً من نوع مجهول. وعلى خلاف النوع any الذي يسمح بأي نوع من القيم، يتطلب unknown فحصًا للنوع أو توكيدًا له قبل أن يمكن استخدامه بطريقة محددة، ولذلك لا يُسمح بإجراء أي عمليات على قيمة من النوع unknown من دون توكيد نوع أكثر تحديدًا أو تضييق النوع إليه أولًا.
لا يمكن إسناد النوع unknown إلا إلى any وإلى unknown نفسه، وهو بديل آمن من ناحية الأنواع للنوع any.
let value: unknown;
let value1: unknown = value; // Validlet value2: any = value; // Validlet value3: boolean = value; // Invalidlet value4: number = value; // Invalidconst add = (a: unknown, b: unknown): number | undefined => typeof a === 'number' && typeof b === 'number' ? a + b : undefined;console.log(add(1, 2)); // 3console.log(add('x', 2)); // undefined