JavaScript에서 문자열을 조건부로 비교하기

두 문자열을 비교하여 동일한지 확인합니다.
조건 테스트 내에서 등호 연산자(==)를 사용합니다.

var strName = prompt("What's your name?", "");
if (strName == "Shelley") {
 alert("Your name is Shelley! Good for you!");
} else {
 alert("Your name isn't Shelley. Bummer.");
}


등호 연산자(==)를 사용하여 두 문자열을 비교할 수 있습니다. 조건문 내에서 사용될 때 테스트가 true로 평가되면(문자열이 같음) 코드 블록이 실행됩니다.

if (strName == "Shelley") {
 alert("Your name is Shelley! Good for you!");
}



문자열이 같지 않으면 조건문 블록 다음의 첫 번째 문이 처리됩니다. if...else 조건문이 사용되는 경우 else 키워드 다음의 코드 블록이 처리됩니다.

if (strName == "Shelley") {
 alert("Your name is Shelley! Good for you!");
} else {
 alert("Your name isn't Shelley. Bummer.");
}


문자열 비교의 성공에 영향을 줄 수 있는 요소:
문자열에는 대소문자가 있으며 대문자, 소문자 또는 둘의 조합으로 구성될 수 있습니다.
대소문자가 문제가 되지 않는 한
다음 코드와 같이 비교하기 전에 기본 제공 String 메서드 toLowerCase 및 toUpperCase를 사용하여 문자열을 모두 소문자 또는 대문자로 변환합니다.

var strName = prompt("What's your name?", "");
if (strName.toUpperCase () == "SHELLEY") {
 alert("Your name is Shelley! Good for you!");
} else {
 alert("Your name isn't Shelley. Bummer.");
}


**참고 **toUpperCase 메서드(및 toLowerCase)는 매개변수를 사용하지 않습니다.
비교 연산자는 숫자에 대해 수치적으로 작동하지만 문자열에 대해 어휘적으로 작동합니다.
예를 들어 "dog"의 문자 "d"는 "cat"의 문자 "c"보다 알파벳에서 나중에 나타나기 때문에 "dog"값은 "cat"보다 어휘적으로 더 큽니다.

var sOne = "cat";
var sTwo = "dog"
if (sOne > sTwo // false, because "cat" is lexically less than "dog"


두 문자열 리터럴이 대소문자에 따라서만 달라지는 경우 대문자는 소문자보다 어휘적으로 더 큽니다.

var sOne = "Cat";
var sTwo = "cat";
if (sOne >= sTwo) // true, because 'C' is lexically greater than 'c'


보다 큼 또는 보다 작음 연산자가 없으므로 피연산자의 데이터 유형이 다른 경우에도 차이가 없습니다.

var sOne = new String("cat");
var sTwo = "cat";
if (sOne <= sTwo) // both equal, so true, as data type doesn't matter


마지막으로, localeCompare 메소드는 하나의 매개변수인 문자열을 사용하여 연결된 문자열 값과 비교합니다.
이 메서드는 두 문자열이 동일한 경우 0과 같은 숫자 값을 반환합니다. -1 문자열 매개변수가 원래 문자열보다 사전적으로 더 큰 경우; 그렇지 않으면 1:

var fruit1 = "apple";
var fruit2 = "grape";
var i = fruit1.localeCompare(fruit2); // returns -1

좋은 웹페이지 즐겨찾기