티스토리 뷰

" == " 동등연산자 (equal operator) :좌항과 우항을 비교해서 서로 값이 같다면 true 다르면 false. 

// 데이터타입까지 고려하지 않고 데이터가 의미하는 바가 같다면 true를 반환한다. 

" = "는 대입 연산자로 좌항의 값을 우항의 변수에 대입할 때 사용하는 것이므로 헷갈리지 않도록 주의

alert(1==2) // false
alert(1==1) //true
alert("one" == "two") // false
alert("one" == "one") // true

" === " 일치연산자 (strict equal operator) : 좌항과 우항을 엄격하게 비교한다. 값만 비교하는 것이 아니라 데이터 타입또한 일치해야 true 아니라면 false.

alert(1 ==="1") // false 일치 연산자는 데이터값, 데이터 타입까지 고려하기 때문에 false를 반환

alert(1 =="1") // true 동등 연산자는 데이터의 의미만 봤을 땐 같은 값이기 때문에 true를 반환

TIP:  ==(2개)보다는 ===(3개)을 사용하는 것이 더 바람직하다. 오류를 낼 가능성이 적어지기 때문에!

=== 일치연산자 심화 

  • null - 값이 없음 e.g.) let a = null; //의도적으로 값이 없는 상태를 정의한 것
  • undefined - 값이 정의되지 않았음 e.g.) let a; //변수를 선언만 했기 때문에 값이 정의되지 않음
alert(null == undefined);       //true
alert(null === undefined);      //false
alert(true == 1);               //true
alert(true === 1);              //false
alert(true == '1');             //true
alert(true === '1');            //false

/*일치연산자에서 알아두면 좋은 것 
1. 0의 경우 -가 앞에 붙었더라도 같은 값이므로 true
2. NaN은 Not a number 숫자가 아닌 것, 계산할 수 없음을 나타내므로 같다고 보지 않고 false를 반환*/
alert(0 === -0);                //true
alert(NaN === NaN);             //false
/*동등연산자 == */
alert( true == 1) //true
alert( true == '1') // true
alert( true == 2) //false
alert( true == 3) //false
/*즉, 동등연산자에서는 1을 true로 간주하면 나머지 값은 false로 되는 것이다.
하지만 === 일치연산자에서는 true == 1 부터 false로 간주한다. 
왜냐하면 데이터타입이 불린과 넘버로 각각 다르기때문*/

!= , !== 

  • '!' 는 부정을 의미. 같지 않다. 라는 의미를 가지고 있으며 ==와 정반대의 결과를 보여줍니다. 
  • !==는 !=와 ==의 관계와 같습니다.

>=, > (부등호) 

  • 숫자를 비교할 때 씁니다. 좌항과 우항의 크기를 비교하여 참과 거짓을 알려주는 연산자 
댓글