JavaScript에서 두 문자열을 비교하는 가장 좋은 방법은 localeCompare() 메서드를 사용하는 것입니다. 이 메서드는 두 문자열을 사전 순서 기준으로 비교하며, 그 결과를 숫자로 반환합니다.
localeCompare()의 반환 값
- 0: 두 문자열이 완전히 같은 경우
- -1: 첫 번째 문자열이 두 번째 문자열보다 사전 순으로 앞에 오는 경우
- 1: 두 번째 문자열이 첫 번째 문자열보다 사전 순으로 앞에 오는 경우
예제
아래 코드를 실행하여 두 문자열을 직접 비교해 볼 수 있습니다. 버튼을 클릭하면 localeCompare()의 결과가 화면에 표시됩니다.
<!DOCTYPE html>
<html>
<body>
<button onclick="compareStr()">문자열 비교</button>
<p id="test"></p>
<script>
function compareStr() {
var string1 = "World";
var string2 = "World";
var result = string1.localeCompare(string2);
document.getElementById("test").innerHTML = result;
}
</script>
</body>
</html>위 예제에서는 string1과 string2가 모두 "World"로 동일하기 때문에 결과로 0이 출력됩니다.
참고: 단순 동등성 비교라면?
두 문자열이 정확히 같은지만 확인하고 싶다면 localeCompare() 대신 일치 연산자(===)를 사용하는 것이 더 간단하고 효율적입니다.
console.log("World" === "World"); // true
console.log("Hello" === "World"); // false정리하면, 문자열의 정렬 순서를 비교할 때는 localeCompare()를, 동일 여부만 확인할 때는 === 연산자를 사용하는 것이 가장 좋습니다.