2016-06-30 6 views
0

誰もがこの記事をリンクする前に: JSLint : Expected '!!' and instead saw '?'jslintが期待されています!代わりに見た?今

私はしかし、私は私が利用するために、次のコード行を手直しだろうかへとわからないよ、jslintは私にこのエラーを与えている理由を私は理解して考えることを説明したいです!!オペレーター。

active = $item.find('isActive').text() === 'true' ? true : false, 

誰かが私にこれを啓発してもらえますか?

私が最初にこれをやってみましたが、でも、私の初心者の目に私はこれを見ることができるが、基本的にはナンセンスだった:

active = $item.find('isActive').text() === !! 'true' true : false, 

は、私は私はむしろ使用理由として、適切な説明を取得したいので、きれいなJavaScriptを書きたいです! !の代わりに ?良い習慣です。 JSLintのエラーサイトを見ても、これは悲しいことではありません。事前に

おかげ

答えて

3

私は、私が利用するために、次のコード行を手直しだろうかに関してはわかりませんよ!オペレーター。

この場合は、!!でも? :も適切ではありません。 ===はそう単純に、ブール値に評価されます。

active = $item.find('isActive').text() === 'true' 

等価演算子(===!====!=)と関係演算子のすべて(<<=>>=)真のブール値で結果。あなたは何かがtruthytrueに強制変換)またはfalsyであったかどうかに基づいてブール値にactiveを設定したい場合は

falseに強制変換)、その後!!は適切であろう。しかし、あなたが既にブール値を持っているときはそうではありません。

たとえば、strが偽であるかどうかに基づいて、blankを設定するとします。その場合、

blank = !!str 

となります。

+0

私は彼が全く違う何かをしようとしていると思います。 –

+1

aha i see!だから基本的には、jslintのエラーが私にそのウサギの穴を導いた:P助けてくれてありがとう:D – pragmatic84

関連する問題