2017-11-18 12 views
2

問題「ブール」型に代入できません。活字体:タイプ「対象読者は、」

.filter(audience => audience) 

私はVSCodeを使用していると私はそれがboolean型を期待していますように、このエラーを投げている理由を知っていると私は戻っていますオブジェクトですが、これは真実の値を返すので有効なJavascriptであるため、参照はtrueに強制されます。設定を変更して動作させることはできますか?私はすでに次のコードで動作させました:

.filter(audience => Boolean(audience)) 

しかし、私はむしろそれを避けるでしょう。

+0

を使用することができます述べたように我々はanybooleanがあまりにもうまくいくかもしれない)

.filter(audience => <any>audience) 

としてそれをキャストしてできますか?私自身のテストでは、エラーは発生しません。 –

+0

2.4.2。実際には配列のfilterメソッドにはありません。これはrxjsのObservablesのフィルタメソッドのものです。 – Christian

答えて

2

このエラーが表示されています。しかし、あなたはブール値が必要な場合は、truthy/falsy値は、一般的にこのような真偽値に変換されます。

.filter(audience => !!audience) 
0

あなたがテストを行うことができますいくつかの異なる方法があります。 TypeScriptはより良いコードを書くのに役立つので、それは受け入れられるものを嫌いです(これは良いことです)。オブジェクトがブール値であることを伝えるためのいくつかの方法があります。

フランクは、我々はあなたがtypescriptですのどのバージョンを使用しているダブル!

.filter(audience => !!audience) 
+0

あなたが正しいです、私は 'ヌル'については考えなかった –