자바스크립트 엄격한 동등(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 연산자를 사용하여 사용자의 입력값의 데이터 타입을 확인한 후, 엄격한 동등 연산자 ===를 사용하여 데이터 타입이 숫자인지 확인합니다.

요약