تایپاسکریپت نوعی که هیچ ویژگی ندارد را از پذیرفتن رشتهها یا آرایهها محدود میکند
آیا ممکن است محدود کنیم که param رشتهها، آرایهها و غیره را نپذیرد؟
interface foo {
a?: number;
b?: string;
}
function baz(param: foo) {
}
baz("hello");
پاسخ شماره ۱
شما میتوانید کاری مانند این انجام دهید تا baz حداقل یک شیء را قبول کند:
interface foo {
a?: number;
b?: string;
}
interface notAnArray {
forEach?: void
}
type fooType = foo & object & notAnArray;
function baz(param: fooType) {
}
baz("hello"); // Throws error
baz([]); // Throws error
fooType در اینجا یک نوع تقاطع است.
