나는 this SO question을 통해 읽었습니다. 나는 일종의 무슨 일이 일어나고 있는지 이해하지만 왜! 함수가 부울 값과 반대 값을 반환하지 않기 전에?
!function foo() {
console.log(true) ;
}()
이
false
을 반환하지 않습니다 내가 왜 혼란 스러워요. 정의되지 않은 사실 때문에!
이 또한 사실이 경우, 함수의 리턴 값 의 대향 부울을 리턴한다. 당신이 실제 반환 값은 호출의 결과 싶은 경우에, 이런 식으로 일을하려고 :
!function() {}()
나 false
반환해야한다고 생각한다 "는 부울 반대 돌아갑니다." 왜 그렇지 않은가? alert(!true); //false
왜냐하면 함수가 값을 반환하지 않기 때문에 거짓 값이고'true '와 반대의 값인'undefined'가 반환됩니다. –
이미 질문에 답변을 포함 시켰습니다 : "" 이 함수의 반환 값과 반대의 값을 반환합니다! 왜냐하면! ** undefined는 true입니다. **. * 아무 것도 반환하지 않기 때문에 함수의 반환 값은'undefined '입니다. –
'! true'는'! function foo() {}()'와 어떤 관련이 있습니까? 함수 자체가 호출 된 후 반환 값 대신 부정되는 것으로 생각 했습니까? 다른 반환 값을 주면 차이가 나타납니다. 'return false' ...'return true' ...'return 0' ... 등. –