Có thể tạo một kiểu gõ hay một thứ khác hoàn thành cùng một mục đích không, để kiểm tra xem biến có phải là loại giao diện cụ thể trong liên minh dạng chữ không?Kiểm tra xem biến có phải là loại giao diện cụ thể trong một liên minh dạng số
interface Foo { a:string }
interface Bar { b:string }
(function() {
function doStuff(thing: Foo | Bar) {
if(typeof thing === 'Foo') {
console.log('Foo');
}
else if (typeof thing === 'Bar') {
console.log('Bar');
}
else {
console.log('unknown');
}
}
var thing: Foo = {a:'a'};
doStuff(thing);
})();
Vì vậy, không có cách nào để kiểm tra xem một biến phù hợp với một giao diện mà không kiểm tra tính chất cụ thể (như 'a' trong ví dụ của chúng tôi)? – myartsev
Đó là chính xác –