한 식에 논리 부정을 수행한다.
result!=expression
표현식이 틀린가? 라는 질문으로 맞으면(true)이면 결과값은 틀리고(false), 표현식이 틀리면(false) 맞아서 결과값은 true이다. 따라서 결과값과는 반대값을 반환한다.
expression 값 | result 값 |
---|---|
true | false |
false | true |
! 연산자와 같은 모든 단일 연산자는 다음과 같은 과정을 거쳐 식을 평가한다.
순서를 바꾸어 =!를 사용하면 오류가 발생된다.
NaN와 NaN의 비교는 항상 다르다. 그러나 Infinity와 Infinity의 비교는 항상 같다. ⇒예제 참조
Infinity등 극한 상황의 계산 결과값은 한계 수치 속성 계산 예제을 참조하라.
![]() | not(!) 연산자⇒ | ![]() | ![]() ![]() ![]() |
<SCRIPT> a=5; b='7'; c='5'; d=''; document.write(!a); // 값이 5이므로 false document.write('<BR>'); document.write(!d); // 값이 없으므로 true document.write('<BR><BR>'); document.write(a!=b); // 같지 않으므로 true document.write('<BR>'); // 줄바꿈 document.write(a!=c); // 같으므로 false document.write('<BR><BR>'); d='aaa'; e='bbb'; f='bbb'; document.write(d!=e); // 같지 않으므로 true document.write('<BR>'); document.write(e!=f); // 같으므로 false document.write('<BR>'); </SCRIPT>
<SCRIPT> for (i=0;i<8;i++){ // 0에서 7까지 1씩 증가하는 루프. document.write(i+') (i!=5)=['+(i5)+'] '); // i값이 5인가를 점검하여 부정 논리값을 출력 if (i!=5) document.write('(i는 5와 같지 않음)'); // 값이 true 이면 추가 설명 출력 document.write('<BR>'); // 줄바꿈 } </SCRIPT>
<SCRIPT> br='<BR>'; // 줄바꿈 varA=''; // 빈 문자열 할당 document.write('varA="" ⇒ !varA ⇒ '+'!"'+varA+'" ⇒ '+!varA+br); document.write('isNaN(1)!=isNaN(2) ⇒ ',isNaN(1)+'!='+isNaN(2)+' ⇒ ',isNaN(1)!=isNaN(2),br); document.write('varA!=0 ⇒ "',varA+'"!=0 ⇒ ',varA!=0,br); document.write('varA!=0 ⇒ "',varA+'"==0 ⇒ ',varA==0,br+br); varA=Math.pow(777,777); // 777777 varB=Math.pow(500,500); // 500500 document.write('varA=Math.pow(777,777) ⇒ Number(Math.pow(777,777) )='+Number(varA)+br); document.write('varB=Math.pow(500,500) ⇒ Number(Math.pow(500,500))='+Number(varB)+br); document.write('Number(varA))!=Number(varB) ⇒ ',Number(varA)+'!='+Number(varB)+' ⇒ ', Number(varA)!=Number(varB),br); // 둘다 Infinity 이므로 같고, 결과값은 false를 반환한다. document.write('Number(varA))==Number(varB) ⇒ ',Number(varA)+'=='+Number(varB)+' ⇒ ', Number(varA)==Number(varB),br+br); // 둘다 Infinity 이므로 같고, 결과값은 true를 반환한다. varA='문장A'; varB='문장B'; document.write('varA="'+varA+'" ⇒ Number('+varA+')='+Number(varA)+br+'varB="'+varB+'" ⇒ Number('+varB+')='+Number(varB)+br); document.write('Number(varA))!=Number(varB) ⇒ ',Number(varA)+'!='+Number(varB)+' ⇒ ', Number(varA)!=Number(varB),br); // 둘다 NaN 이므로 비교가 안되 다르고, 결과값은 true를 반환한다. document.write('Number(varA))==Number(varB) ⇒ ',Number(varA)+'=='+Number(varB)+' ⇒ ', Number(varA)==Number(varB),br); // 둘다 NaN 이므로 비교가 안되 다르고, 결과값은 false를 반환한다. </SCRIPT>
![]() | not(!) 연산자 | ⇒ | ![]() ![]() |
최종 수정: 06/14/2025 18:22:57 | ![]() All right reserved | 비정상적인 방식으로 프레임없이 페이지에 접속하면 자주 오류가 발생됩니다. 오류가 나면 정상적 접속으로 시도해 보세요. | http://koxo.com/lang/js/operator/not.html |