0
我試圖讓類型檢查上設置屬性上的變量類型RefBasketType型檢查,設置預先定義的接口
下面的函數中的值是一個測試代碼:
export class BaseTest {
__base: null;
}
export class Test1 extends BaseTest {
__test: null;
}
export class Test2 extends BaseTest {
__test2: null;
}
export type RefBasketType = {
t1?: Test1;
t2?: Test2;
};
const testRefBasket: RefBasketType = {};
function test<U, T extends {}, K extends keyof T>(
key: K, testC: U, basket: T
) {
basket[key] = testC;
}
test('t1', new Test1(), testRefBasket); // passes (ok!)
test('t1', new Test2(), testRefBasket); // no error here.(UH-OH)
test('t3', new Test1(), testRefBasket); // error (ok!)
正如你所看到的,
test('t1', new Test2(), testRefBasket); // no error here.(UH-OH)
通行證,即使它不應該有。
還有什麼我應該用在打字稿上,還是甚至不可能用最新版本的打字稿?
謝謝!