我試圖將從JS發現在https://github.com/kaimallea/isMobile的JavaScript轉換爲TypeScript。打字稿中的嵌套布爾值?
我做的不錯,到目前爲止,但能對付的代碼塊:
this.apple = {
phone: match(apple_phone, ua),
ipod: match(apple_ipod, ua),
tablet: !match(apple_phone, ua) && match(apple_tablet, ua),
device: match(apple_phone, ua) || match(apple_ipod, ua) || match(apple_tablet, ua)
};
我使用
class IsMobileService {
public apple: boolean;
的問題是宣稱「蘋果」在我班布爾,我得到「Can not convert type」{phone:boolean; ipod:boolean; tablet:boolean; device:boolean}'來輸入'boolean'「作爲錯誤。
我也試過聲明
public apple.phone: boolean;
聲明部分
,但我告訴我的代碼重複的識別碼「蘋果」。
理想情況下,用戶應該能夠調用IsMobileService.apple或IsMobileService.apple.phone來獲取他們需要的信息。
唯一的問題是,用戶不能只是打電話給蘋果,看是否有四個布爾值是真的。 – SpaceCowboy74
沒關係。我意識到原始劇本的開發者也沒有這樣做。他用apple.device來測試。 – SpaceCowboy74
要做到這一點,您只需在界面或isMobileService類中添加一個方法來檢查並調用該方法。 – oooyaya