的angular DI文檔具有下面的例子:<ClassName>在打字稿中執行鑄造嗎?
let mockService = <HeroService> {getHeroes:() => expectedHeroes }
是mockService
現在HeroService
一個實例?
這裏是萬一另一個代碼片段,有助於更清楚:
it('should have heroes when HeroListComponent created',() => {
let hlc = new HeroListComponent(mockService);
expect(hlc.heroes.length).toEqual(expectedHeroes.length);
});
我認爲mockService
有可能成爲HeroService
實現或接口的實例,因爲HeroListComponent
預計這種情況下它的構造。
你是什麼意思的實例?如'prototype'實例中那樣?類型轉換對運行時間沒有影響 –
使用更多代碼更新帖子 – Aravind
TypeScript沒有「投射」。它有「類型斷言」。你斷言'{}'對象的類型是'HeroService'。如果斷言無法應用,則此類斷言將失敗 - 如果該值與斷言的類型不兼容。 'mockService'將被認爲是'HeroService'類型,但它不同於它是某個類'HeroService'的一個實例。 – 2017-06-19 17:24:29