2

この関数のように、todo アイテムの「完了」状態を true から false に切り替え、その逆に切り替えます。

toggle: function() {
  this.save({
    completed: !this.get('completed') 
  });
}
4

2 に答える 2

9

!それが否定(ブール値に変換され、反対の値を返す)を意味することを知っていると仮定すると、投稿したものは

!(this.get('completed')) 

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedenceを参照してください

そのテーブルでは.が の前にあることに注意してください。が式全体に関連付けられている!のはそのためです。 は が登場する前に関連付けられます。!.get()!

于 2013-09-07T18:27:26.053 に答える
0

もう1つの答えは、技術的に優れた一般的な答えであり、絶対に正しいです。

特定の状況では、現在の ( this) オブジェクトに と呼ばれるメソッドがget()あり、ブール値を返します。!そのため、ブール値の戻り値 from にnot 演算子 ( ) を使用get()すると逆になりget()ます。つまり、 return の場合true、式はfalse(etc) になります。への呼び出しに渡されたオブジェクトのプロパティの値として返された値とは反対の値を渡していることを意味します。get()completedsave()

于 2013-09-07T18:54:52.107 に答える