o dizeleri kabul etmemeyi param
kısıtlamak mümkün mü vb diziler?typescript dizeleri veya diziler
interface foo {
a?: number;
b?: string;
}
function baz(param: foo) {
}
baz("hello");
o dizeleri kabul etmemeyi param
kısıtlamak mümkün mü vb diziler?typescript dizeleri veya diziler
interface foo {
a?: number;
b?: string;
}
function baz(param: foo) {
}
baz("hello");
Sen baz
en az bir nesneyi kabul etmesini sağlamak için böyle bir şey yapabilirsiniz:
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
bir Intersection Type olduğunu.
Bu biraz aldatıyor mu? Parametrenin bir nesne olması gerektiğini zorluyorsunuz. –
@MuratK .: OP'nin istediği bu değil mi? Ama, bu bir tür yapmıyor doğru sadece 'fonksiyon Baz yalın olacaktır (param: foo & nesne)' 'Nesnesi' tipi çok yeni olduğunu belirterek değer –
, bunu kullanmak typescript 2.2 gerekir. –
Neden ilgileniyorsun? Arayüzünüze uyuyorsa, neden bir ip mi, nesne mi olduğu hakkında bir fikriniz var? –
Biz nesnenin yerine nesnenin özelliğini geçerken bir hata vardı ve typescript ince derlenmiş. – user3233089
Geçerli bir sorun. –