簡體   English   中英

打字稿“ Immutable.Map <K, T> 作為對象”

[英]Typescript “Immutable.Map<K, T> as Object”

我正在重構一些TypeScript,並且遇到了使我卡住的東西。

在下面的代碼中,“ as”關鍵字如何將Map<number, Trip>轉換為“ Trip”對象? 如果不是,那它在做什么?

public mergeBookings(bookingData: Immutable.Map<number, Booking>) {

    // merge bookings
    const bookings: Immutable.Map<number, Booking> = this.mergeBookingData(bookingData);

    // sort bookings
    const sortedBookings: Immutable.Map<number, Booking> = SortingService.sortBookings(bookings);

    // add bookings to trip
    const trip: Map<number, Trip> = this.setBookingData(sortedBookings);

    return trip as Trip;
}

對該關鍵字進行說明,它對地圖和其他對象的工作方式以及有關它的一些文檔會很好,但是任何信息都將有助於維護此代碼庫。

特別是,我想更新函數定義以包括返回類型,但需要確信它確實是“ Trip”對象。 所需的函數定義示例如下:

public mergeBookings(bookingData: Immutable.Map<number, Booking>): Trip {...}

我到處都是關於TypeScript的StackOverflow答案,關於文檔的長時間Google會話並沒有任何幫助。 根據標簽,此代碼正在使用:
打字稿

Immutable.js

as演員一樣。 它不做任何轉換。 它不會以任何方式改變trip 唯一的目的是讓打字稿編譯器信任程序員,而不產生錯誤消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM