2017-07-18 73 views
0

首先,我不能這樣做,我不知道爲什麼比較類型類別與類型提示

switch (typeof request) { 
    case 'EnrollmentRequest': 

Type '"EnrollmentRequest"' is not comparable to type '"string" | "number" | "boolean" | "symbol" | "undefined" | "object" | "function"'.

但我想這樣做是

switch (typeof request) { 
    case type(EnrollmentRequest): 

,這樣我可以從PhpStorm

獲得類型提示
+0

帶問號的句子是什麼? – Misaz

+0

@Misaz對不起。我不知道你的意思。 – Bluebaron

+0

我不完全知道你在問什麼?你最後沒有帶問號的句子。嘗試添加到問題的句子,如**是什麼原因導致這個錯誤,以及如何防止這樣做?** – Misaz

回答

2

顯然,你不能使用自定義類上的。使用instanceof工程。錯誤字面意思是你不能使用typeof以外的任何其他東西'"string" | "number" | "boolean" | "symbol" | "undefined" | "object" | "function"'

+0

'EnrollmentCase'將會(沒有其他信息)被'typeof'識別爲'object'(嘗試記錄呼叫並且看到)。在我身邊,開關塊與typeof和object一起工作。 (不是你想要的行爲)。另外關於你上面的評論,我想你注意到在一家商店你必須付錢,你註冊時是否支付過嗎? – Adonis

+0

不,但我沒有做錯任何事。你需要我找到一個我不需要付錢的場景嗎?好,那怎麼樣 - 因爲我們在加拿大有單獨的付款人醫療保健 - 「醫生,我從自行車上掉下來,腦子掉了出來,現在我必須讓人們用最後的問號告訴我句子。 「我們本來可以互相交換意見,並且一直在談論我們的一天,但是他必須抓住他尖尖的棍子,然後用它戳刺我。 – Bluebaron

+0

Yep Bluebaron是對的。它在文檔中https://www.typescriptlang.org/docs/handbook/advanced-types.html – JGFMK