2014-02-23 1 views
2

는하여 exampl 백본 도도 MVC 응용 프로그램에서 다음을 통해 온, 그리고 할 일 모델 내부 나에게 어떤 의미 주위 봤없이 주사위,백본 할 일 MVC 응용 프로그램에서!의 썩의 의미는

을 나던 이 전환 방법은 다음과 같습니다.

// Toggle the `completed` state of this todo item. 
toggle: function() { 
    this.save({ 
    completed: !this.get('completed') 
    }); 
} 

나는 항상 이것을 이해했습니다! 'not'를 의미하는 것은 나에게 의미가 없으며, 토글 이벤트를 실행하면 완료 상태를 저장하려고한다고 가정합니다.

무엇이 누락 되었습니까?

답변

1

"하지 않음"을 의미하며 실제로 상태를 전환하는 것입니다. ! 연산자는이 경우 논리 연산자이며 complementarty 부울 값을 반환합니다.

this.get('completed') 호출의 현재 상태는 completed 속성의 현재 상태 (예 : true)가됩니다.

! 연산자는 보완 값을 가져옵니다 (예 : false).

이 값은 { completed: false }과 같이 개체 리터럴을 만드는 데 사용됩니다.

개체는 save 메서드 호출에서 사용되므로 개체의 값은 completed 속성의 새 값으로 사용됩니다.

2

기본 원칙 : 가정, 우리는 부울 상태를 반환합니다.

var state = obj.getState('completed'); 

getState 경우 반환 true, state 변수는 현재뿐만 아니라

true입니다 :

var state = !obj.getState('completed'); 

우리 반전 의미 결과 : getState 반환 true, 변수 state 경우로 설정됩니다.. A가 참이면 true - false - true - false 같은 전환을하기 위해

, 우리가 모두 큰 응답, 다음 등 진정한

+0

덕분에, 그것은 거짓 인 경우는, 다음 거짓,

a = !a 

을 할 수있는, 하지만 나는 문맥에서 조금 더 답변을한다고 생각하므로 다른 질문을 찾은 다른 사람들을 도울 수 있습니다. – pushplaybang

관련 문제