자바스크립트 엄격한 동등(Strict Equality)
반복문이나 조건문을 작성할 때, 변수 간의 동일성을 비교해야 할 때가 있습니다. 이때 자바스크립트에서는 ‘==(동등 연산자)
, ‘===’(엄격한 동등 연산자)를 사용하여 동등성을 확인할 수 있습니다.
동등(Equality) 연산자
==
동등 연산자는 비교하는 값이 동등한지 확인합니다. 이 연산자는 자동으로 형 변환(type coercion)이 이루어지기 때문에, 서로 다른 타입의 변수끼리 비교할 수 있습니다. 예를 들어, 숫자 1과 문자열 “1”은 동등하다고 판단됩니다.
let num = 1;
let str = "1";
console.log(num == str); // true
엄격한 동등(Strict Equality) 연산자
===
엄격한 동등 연산자는 동등한지 확인하는 동시에 데이터 타입도 일치하는지 비교합니다. 이 연산자는 형 변환을 수행하지 않기 때문에, 값과 데이터 타입이 모두 일치해야만 true로 판단합니다.
let num = 1;
let str = "1";
console.log(num === str); // false
사용 사례
엄격한 동등 연산자는 조건문에서 특히 유용하게 사용됩니다. 예를 들어, 사용자의 입력값이 숫자인지 확인해야 할 때 다음과 같이 사용할 수 있습니다.
let userInput = prompt("숫자를 입력하세요.");
if (typeof userInput === "number") {
console.log("입력값은 숫자입니다.");
} else {
console.log("입력값은 숫자가 아닙니다.");
}
이 예제에서 typeof
연산자를 사용하여 사용자의 입력값의 데이터 타입을 확인한 후, 엄격한 동등 연산자 ===
를 사용하여 데이터 타입이 숫자인지 확인합니다.
요약
- 엄격한 동등(Strict Equality) 연산자
===
는 값과 데이터 타입을 일치하여 비교합니다. - 동등(Equality) 연산자
==
는 값의 동등성을 확인하며, 서로 다른 타입의 변수끼리 비교하는 경우 자동으로 형 변환을 수행합니다. - 엄격한 동등 연산자는 조건문에서 특히 유용하게 사용될 수 있습니다.