🦎 JavaScript

[JS] 비교 연산자(Equality Operators)

하나둘세현 2023. 1. 31. 19:04
728x90

if else 문으로 결정을 내린다.

그러나 확인을 하려면 어떻게 해야할까? 두 값이 실제로 같다면, 하나가 더 크거나 또는 다른 것보다 적을 거다. 이를 위해서는 서로 다른 비교 연산자가 있다. 

일치 비교 연산자(===)

 

만 19세 이상이 되면 어른이다. if else 문을 사용할 수  있다. 나이가 정확히 19세인지 확인하기 위해 일치 비교(===) 을 사용해야한다.

const age = 19;
if(age === 19)

한 줄이 있으면 두 개의 중괄호가 필요하지 않다. 따로 if(age === 19) { } ← 만들 필요가 없다. 

const age = 19;
if (age === 19) console.log("You Just Becaome Adult");

한 줄만 작성하면 된다. 

const age = 20;
if (age === 19) console.log("You Just Becaome Adult");

만일 20을 입력하면 값이 출력되지 않는다.

일치 비교 연산자(===)는 Boolean인 true 또는 false 값을 반환한다.

true는 양쪽이 정확히 같은 경우 연산자의 결과일 뿐이다.

일치 비교 연산자(===)는 strict equality operator라고 부른다. 즉 엄격하게 비교한다. 두 값이 정확히 같을 때 타입 강제 변환을 수행하지 않기때문이다. 

 

반면에 느슨하게 비교를 하는 동등 비교 연산자(==)도 있다. 이를 loose equality operator 라고 부른다. 동등 비교 연산자는 타입 강제 변환을 수행한다. 

문자열 19는 숫자로 변환된다. 그래서 왼쪽 문자에서 숫자로 변환된 19와 오른쪽 숫자 19는 동일한거다. 

 

일치 비교 연산자의 경우에는 동일하지 않다.

 

 

const age = 19;
if (age === 19) console.log("You Just Becaome Adult(일치 비교 연산자)");

if (age == 19) console.log("You Just Becaome Adult(동등 비교 연산자)");

 위의 두 조건은 true 이다. 

const age = "19";
if (age === 19) console.log("You Just Becaome Adult(일치 비교 연산자)");

if (age == 19) console.log("You Just Becaome Adult(동등 비교 연산자)");

나이를 문자열로 바꿀 경우 동등 비교 연산자만 값이 출력된다. 

 

※ 깨끗한 결과와 코드를 위해서는 동등 비교 연산자를 될 수 있으면 안 사용하는게 좋다. 만일 형 변환이 필요한 경우 동등 비교 연산자를 사용하는 것 보다 값을 수동으로 변경하는게 더 좋다. 

 

prompt 기능을 사용하면 웹 페이지를 가치 있게 만들 수 있다. 

prompt

const favorite = Number(prompt("What's your favorite number?"));
console.log(favorite);
console.log(typeof favorite);

if (favorite === 23) {
  //'23' == 23 | 22 === 23 -> False
  console.log("Cool! 23 is an amazing number");
} else if (favorite === 7) {
  console.log("7 is also a cool number");
} else if (favorite === 9) {
  console.log("9 is also a cool number");
} else {
  console.log("Number is not 23 or 7");
}

일치 비교 연산자로 if문을 작성하기 위해서 const favorite 에 number 함수를 입력해줬다. 

실행을 시키면 prompt 기능으로 인해 좋아하는 숫자를 입력하라는 창이 뜬다. 거기에 7을 입력하면 소스 코드 오른쪽에 있는 사진처럼 나온다. 

 

 

 

 

동등 비교 연산자와 일치 비교 연산자와 반대인 개념도 있다. 부동등 비교 연산자와 불일치 비교 연산자이다.

const favorite = Number(prompt("What's your favorite number?"));
console.log(favorite);
console.log(typeof favorite);

if (favorite === 23) {
  //'23' == 23 | 22 === 23 -> False
  console.log("Cool! 23 is an amazing number");
} else if (favorite === 7) {
  console.log("7 is also a cool number");
} else if (favorite === 9) {
  console.log("9 is also a cool number");
} else {
  console.log("Number is not 23 or 7");
}

if (favorite !== 23) console.log("Why not 23?");

if (favorite !== 23) console.log("Why not 23?"); ← ==앞에 느낌표를 작성하면 !== 된다. 

여기에 9를 입력했더니 

9 is also a cool number 과 why not 23? 두 문장이 나왔다.

728x90

'🦎 JavaScript' 카테고리의 다른 글

[JS] switch 문  (0) 2023.02.01
[JS] Boolean logic | Logical Operators  (0) 2023.01.31
[JS] 형 변환과 타입 강제 변환  (0) 2023.01.30
[JS] if / else 문  (0) 2023.01.23
[JS] 문자열  (0) 2023.01.23