.filter(audience => audience)
我使用VSCode,我知道爲什麼,因爲它是期待一個布爾值的投擲這個錯誤,我要回一個對象,但這是有效的Javascript,因爲我正在返回一個真值,所以引用將被強制爲真。我可以在配置中更改某些內容以使其正常工作嗎?我已經使它的工作:
.filter(audience => Boolean(audience))
但我寧願避免這種情況。
.filter(audience => audience)
我使用VSCode,我知道爲什麼,因爲它是期待一個布爾值的投擲這個錯誤,我要回一個對象,但這是有效的Javascript,因爲我正在返回一個真值,所以引用將被強制爲真。我可以在配置中更改某些內容以使其正常工作嗎?我已經使它的工作:
.filter(audience => Boolean(audience))
但我寧願避免這種情況。
我很驚訝你看到這個錯誤。但是如果你需要一個布爾值,truthy/falsy價值經常被轉換爲布爾這樣的:
.filter(audience => !!audience)
有幾種不同的方式,你可以做一個測試。由於TypeScript可以幫助您編寫更好的代碼,它對接受的內容很挑剔(這是一件好事)。這裏有幾種不同的方式來告訴某個對象是一個布爾值。
我們可以將它轉換爲any
(boolean
可能工作太)
.filter(audience => <any>audience)
正如弗蘭克提到我們可以使用雙!
.filter(audience => !!audience)
你說得對,我沒有考慮'null' –
您正在使用什麼版本的打字稿的?用我自己的測試,我沒有錯誤 –
2.4.2。它實際上不在數組的過濾方法中。這來自rxjs中Observables的過濾方法。 – Christian