본문 바로가기
JavaScript

[생활코딩] javascript - 비교

by Hello Do. 2016. 5. 18.

본 강의 학습은 [생활코딩]를 통하여 학습하고 있습니다.


1. 비교 (1/4) : 연산자란?


■ 비교

어느쪽이 큰지 판단하는 것


연산자 

좌항에 있는 값을 우항에 있는 변수에 대입한다.

a=1; // 이항 연산자, 1를 a에 대입한다.


- 비교 연산자

a == b

a < b

a > b

a >= b

a <= b


조건에 대한 결과는 true(참) 또는 false(거짓)로 나온다.

boolean : true, false


2. 비교 (2/4) : ==과 === 


- 동등 연산자(Equal Operator, ==)

좌항과 우항을 비교해서 같다면 true, 다르면 false (데이터 타입이 다르더라도, 값이 같다면)

alert(1==2);          // false

alert(1==1);          // true

alert("one"=="two");  // false

alert("one"=="one");  // true


[주의]

a=1 과 a==1은 다르다.

a=1 : 대입 / a==1 비교


- 일치 연산자(Strict Equal Operator,===)

엄격한 동등 연산자, 정확하게 같은가를 판단, 데이터 및 데이터 형식도 일치 해야 한다.

alert(1==="1");       // false

alert(1=="1");        // true


데이터 타입이 다른 데이터는 다른 데이터라고 봐야 한다.

동등 연산자 보다는 일치 연산자를 사용 해라


3. 비교 (3/4) : ===를 사용하자! 


alert(null == undefined);

null : 값이 없다. 

undefined : 값이 정의 되지 않았다.


var a;

alert(a); // undefined 출력, 값이 정의 되어 있지 않다.

var a = null;

alert(a); // null 출력, a에 값이 없다.


undefined : 의도 되지 않는 상황

null : 의도 된 상황


alert(null == undefined);    // true

alert(null === undefined);   // false


true / false는 데이터의 형식이다. Boolean이란 형식

데이터의 형식에 따라 형식이 존대, Boolean/Number/String/undefined/null


동등 연산자는 숫자 1을 true로 간주, 다른 숫자는 false


alert(true == 1);    // true

alert(true === 1);   // false

alert(true == '1');  // true

alert(true === '1'); // false

alert(0 === -0)       // true

alert(NaN === NaN)     // 0/0을 하면 성립하지 않는 수가 나옴


===, 같은 의미, 같은 데이터 타입일 경우만 TRUE

동등 연산자 보다는 일치 연산자를 사용할것을 권장 한다.


4. 비교 (4/4) : 부정과 부등호


!= 부정을 말한다. 

alert(1!=2); // true

alert(1!=1); // false


!== 정확하게 같지 않다.


>, >= 숫자를 비교 할때 사용하기

alert(10>20);         // false

alert(10>=20);      //false