자바스크립트(JavaScript)는 기본적으로 대소문자를 구분(case-sensitive)하는 언어입니다. 따라서 대소문자까지 엄격하게 일치해야 하는 문자열 비교는 별도의 메서드 없이도 간단한 비교 연산만으로 처리할 수 있습니다.
엄격 동등 연산자(===) 사용하기
엄격 동등 연산자인 ===는 값과 자료형을 모두 비교합니다. 문자열끼리 비교할 때는 알파벳의 대소문자까지 정확히 일치해야만 true를 반환합니다. 즉, "amit"과 "Amit"은 첫 글자의 대소문자가 다르기 때문에 서로 다른 문자열로 판단됩니다.
<!DOCTYPE html>
<html>
<body>
<h3>JavaScript Strings</h3>
<p id="test"></p>
<script>
var str1 = "amit";
if (str1 === "amit") {
document.getElementById("test").innerHTML = "correct";
}
</script>
</body>
</html>
실행 결과
변수 str1에 담긴 값이 "amit"과 대소문자까지 완전히 일치하므로 조건식은 참(true)이 되고, 화면에는 "correct"라는 문구가 출력됩니다. 반대로 비교 대상이 "Amit"였다면 조건이 거짓(false)이 되어 아무 내용도 표시되지 않습니다.
참고: 대소문자를 무시하고 비교하는 방법
반대로 대소문자 차이를 무시한 비교가 필요하다면, 두 문자열을 toLowerCase() 또는 toUpperCase()로 변환한 뒤 비교하거나 localeCompare() 메서드를 활용할 수 있습니다.
if (str1.toLowerCase() === "AMIT".toLowerCase()) {
// 대소문자와 관계없이 true 반환
}