## 문자열 비교 (대소문자 구분함)
- 문자열 비교시 사용되는 함수들
String.localeCompare() : 인코딩 차이와 같은 다양성을 고려하는 문자열 비교 알고리즘.
- String.toLowerCase() : 전부 소문자로 변경.
- String.toUpperCase() : 전부 대문자로 변경.
위의 2개의 함수로 소문자나 대문자로 변경 후 문자열을 비교하면 된다.
## 문자열 연산자
- "+" 연산자는 두 문자열 피연산자를 이어 붙인다.
ex) "hello" + " " + "John"; // hello John 이 됨.
a = "2"; b = "2";
c = a + b; // 22가 됨
- 두 문자열을 <, <=, >, >= 를 통하여 비교할 경우 비교의 기준은 알파벳 순서다.
알파벳 순서는 Unicode 문자 인코딩 기준으로 모든 대문자는 모든 소문자보다 이전에 나타나므로 모든 소문자보다 작다.
- "+" 연산자는 숫자 피연산자보다 문자열 피연산자에 우선권을 부여 한다.
따라서 두 피연산자 중 하나가 문자열이면 다른 하나의 피연산자를 문자열로 반환하거나 두 피연산자 모두 문자열로 반환한 후 이어 붙인다.
- 비교 연산자는 오직 두 피연산자가 문자열인 경우에 한해서 문자열 비교를 수행
하나의 피연산자만 문자열일 경우 숫자로 변환하려 한다.
ex) 1 + 2; // 3
"1" + "2"; // "12"
"1" + 2; // "12". 숫자 2를 "2"로 변환
11 < 3; // false. 숫자로 비교.
"11" < "3"; // true. 문자열 비교.
"11" < 3; // false. 문자 "11"을 숫자로 11로 변환.
"one" < 3; // false. 문자 "one"을 숫자로 변환하려 하므로 NaN값을 반환
- "+" 연산자가 문자열과 숫자에 대해서 사용될 경우에는 결합 법칙이 성립되지 않을 수 있다.
그 이유는 "+" 연산자는 왼쪽에서 오른쪽으로 적용 되기 때문
ex) s = 1 + 2 + "blind mice"; // "3 blind mice". 왼쪽부터 적용하므로 1+2를 먼저 실행후 문자열과 합침.
t = "blind mice : " + 1 + 2; // blind mice : 12. 왼쪽 부터 적용하므로 blind mice 뒤의 숫자들을 문자로 변환하므로 3이 아닌 "blind mice" + "1" + "2" 가 됨.
'컴퓨터 세상 > JavaScript' 카테고리의 다른 글
주석문, 자료형 (0) | 2024.03.28 |
---|---|
JavaScript - in 연산자, instanceof 연산자 (0) | 2020.07.25 |
JavaScript - 객체 (0) | 2020.07.20 |
함수 리터럴 (0) | 2020.07.20 |
JavaScript - 숫자를 문자열로, 문자를 숫자열로, Boolean을 숫자나 문자로 (0) | 2020.07.18 |