지금까지 진행하는데 무리는 없으셨죠? 혹시나 제가 건너뛰고 가는 내용이 있으면 지적해주시면 보완하겠습니다. 이 번 강좌에서는 지지난 강좌의 산술연산자에 이어 나머지 다른 연산자에 대해 알아보기로 합니다.
우선 논리 연산자를 알아보기로 하겠습니다. 논리연산자는 true 또는 false 값을 인자로 취해 true/false를 결과로 보여주는 연산자입니다. 자바스크립트의 논리 연산자는 다음 세가지가 존재합니다.
| 연산자 | 설명 | 예제 |
| ! | NOT연산자로, 입력 값이 true이면 false로 , false이면 true로 값을 리턴합니다. | >>> var b = !true; >>> b; false >>> var c = !!true; // NOT연산자가 두번 사용됨 >>> c; true >>> var d = “one” >>> !d; //NOT연산자를 변수에 사용하면 boolean 타입으로 형변환이 이루어집니다 false; |
| && | AND연산자로, 두 개의 입력 값을 취해, 두 개의 입력이 모두 true인 경우에만, true를 리턴합니다 | >>> true && true; true >>> true && false; false >>> false && false; false >>> true && !”3”; //3은 true이고 여기에 NOT연산자를 취했으므로 결과적으로 true && false 구문 false |
| || | OR연산자로, 두 개의 입력 값 중 어느하나라도 true이면 , true를 리턴합니다 | >>> true || false; true >>> false || false; false; >>> true || !”3”; true |
앞 선 강좌에서도 잠깐 설명 했지만, 자바 스크립트의 기본 데이타는 다음 6가지 경우를 제외하고는 모두 true 입니다.
”” (빈 문자열)
NaN (Not a Number)
undefined (정의되지 않은 값)
null (Null값)
false (기본 boolean false)
0 (숫자 0)
또 한가지 살펴볼 점은 자바스크립트에서의 형변환입니다. 형변환에 대해서는 중간 중간 강의를 진행하면서 짚고 넘어가겠지만, 서로 다른 데이타 유형끼리 연산이 이루어지거나, 특정연산자와 결합하면 자바스크립트의 문법규칙에 의해 형변환이 이루어지게 됩니다.
논리 연산자에서는 Not연산자와 결합하게 되면 boolean 데이타 유형으로 형변환이 이루어집니다.
논리 연산자는 매우 기본적인 개념이므로 반드시 정확하게 이해하고 넘어가셔야 합니다.
다음으로 비교연산자에 대해 알아보도록 하겠습니다. 비교연산자는 두 값을 취해 그 값을 비교하여 boolean(true/false) 값을 리턴합니다.
| 연산자 | 설명 | 예제 |
| == | 동치(Equal)연산자, 두 값이 동일한 경우 true를 리턴한다. 두 입력 값의 타입이 같지 않은 경우 형변환하여 비교한다 |
>>> 1 == 1; true >>> 1 == “1”; true >>> 1 == “2”; false >>> undefined == null true >>> NaN == NaN false |
| === | 동치연산자(타입까지 비교), 두 값이 동일하고 타입까지 일치하는 경우에만 true를 리턴한다. 정확한 비교를 하고자 할 때에는 == 를 사용하는 것보다 안전하다 | >>> 1 === 1; true >>> 1 === “1”; false >>> undefined === null; false |
| != | NOT Equal연산자. 두 개의 입력값이 같지 않은 경우 true를 리턴한다, 타입이 다른 경우 형변환을 수행한다 | >>> 1 != 1 false >>> 1 != “1” false >>> 1 != “2” true |
| !== | NOT Equal연산자(타입까지비교), 형 변환을 수행하지 않고 값을 비교하여 값이 같지 않으면 true를 리턴한다. | >>> 1 !== 1 false >>> 1 !== “1” true >>> 1 !== “2” true |
| > | ~보다 크다 연산자 | >>> 10 > 10 false >>> “44” > 1000 false >>> Infinity > 0 true |
| >= | ~와 같거나 크다 연산자 | >>> 30 >= 30 true >>> 1 >= 2 false |
| < | ~보다 작다 연산자 | >>> 30 < 30 false >>> 1 < 2 true |
| <= | ~와 같거나 작다 연산자 | >>> 1 <= 1 true |
===, !== 를 제외하면 비교 시점에 형 변환이 일어나므로 이 점에 주의하여 코드를 작성해야 합니다.
기타 연산자로는
typeof ( 앞의 강좌에서 설명했듯이 데이타 유형을 나타내는 연산자), delete ( 메모리에서 변수/항목을 제거하는 연산자) , new (함수객체를 생성함)
등이 존재합니다. 이 외에도 몇몇 연산자(비트연산자,instance of, in)가 더 존재하지만, 이 정도만 알면 기본적인 코딩에는 별 무리가 없습니다. 나중에 새롭게 등장하는 연산자는 부연 설명을 하도록 하겠습니다.
이상으로 연산자 강좌를 마치고, 다음 강좌에서는 배열에 대해 간단히 알아보도록 하겠습니다.
'WEB > javascript' 카테고리의 다른 글
| [제8강] 자바스크립트의 배열 (Array) (0) | 2011/07/01 |
|---|---|
| [제7강] Literal, expression, Statements (0) | 2011/06/29 |
| [제6강] 자바스크립트 연산자 - 논리연산자,비교연산자 (1) | 2011/06/28 |
| [제5강] 자바스크립트의 기본 데이타 유형 (Primitive Data Type) (0) | 2011/06/27 |
| [제4강] 자바스크립트 연산자(Operator) - 산술연산자 (0) | 2011/06/27 |
| [제3강] Javascript의 변수(Variables) (3) | 2011/06/24 |




