2016-10-28 17 views
-2

私はアプリケーションのソースコードを読んでいる間にこの行を見つけました。何が=!意味はjavascriptで

$scope.editMode = ! $scope.editMode; 

私はこれがオペレータと等しくないのではないかと思います。私はこれを試しましたjsfiddle答えは正しいですが、私はまだロジックが何とか演算子に等しいことを理解していないのですか?

jsfiddlecode

$scope.name = 'Superhero'; 
     $scope.hero = '123'  
     $scope.name = ! $scope.hero 
+1

これはNOTに割り当てることを意味します。それはちょうど 'x = not x'です。したがって 'x = true;'なら 'x =!x;'、今度は 'x == false' – Li357

+0

'! '演算子自体が何をするのか知っていますか?つまり、 '!x'が何をするのか知っていますか? – JJJ

+0

また、 'coercion'をよく見てください – taguenizy

答えて

1

は、ブール値を逆にするために使用されます。たとえば :あなたの例 で

!(true) = false and 
!(false) = true 

、$ scope.editMode値の復帰は、自身に割り当てられています。

+0

パーフェクトありがとう – Imi

+0

@Imi、あなたは大歓迎です。 – Natiq

関連する問題