
인덱스 : 배열 안에 담긴 데이터 위치를 가리키는 값
문자열 인덱싱 : 문자열의 각 문자는 인덱스 번호로 시작한다
유사배열 객체 : 배열이 아닌데, 배열과 유사한 객체
const name = ' ';
name[0];
const str = "abcd";
console.log(str.charAt()); // "a"
console.log(str.charAt(0)); // "a"
console.log(str.chartAt(str.length-1));
// "d"
// 문자열 마지막 글자 리턴
console.log(str.charAt(9999));
// 범위 밖이라 빈 문자열 리턴
// ""
const str = "abcd";
console.log(str[0]); // "a"
console.log(str[str.length-1]); // "b"
console.log(str[9999]); // 범위 밖이라 undefined
범위에서 벗어날 때 차이점이 있다
const str = "abcd";
console.log(str.charAt(9999); // 빈문자열 리턴
console.log(str[9999]); // undefined
인덱스 기준 문자열 나누어주는 메서드
const str = "abcd";
console.log(str.substring(0,1)); // "a"
console.log(str.substring(2,3)); // "c"
console.log(str.substring(5,7)); // ""
console.log(str.substring(-1,-2)); // ""
console.log(str.substring(0,0)); // ""
시작에서 글자 반환
substring과 차이가 있다
문자열에서 특정 문자 인덱스 찾기(몇 번 인지)
const str = "abcd";
console.log(str.indexOf('ab')) // "0"
console.log(str.indexOf('ba')); // "1"
console.log(str.indexOf('abc')); // -1
console.log(str.indexOf('AB')); // -1
문자열을 특정 문자 기준으로 나누어주는 메서드
let vaco = "홍길동";
let baco = `옹길동 ${vaco}`;
console.log(vaco[1]); // 길
console.log(baco[4]); // 홍
>, <)아스키코드
비교 연산자(<, >, <=, >=)를 통해 비교할 수 있다.
console.log("apple" > "banana");
// false ('a'가 'b'보다 앞에 있음)
console.log("hello" < "world");
// true ('h'가 'w'보다 앞에 있음)
console.log("Zoo" > "apple");
// false ('Z'의 ASCII 값이 'a'보다 작음)
JavaScript는 문자열을 UTF-16 코드 포인트 기준으로 비교한다.
즉, 알파벳 순서뿐만 아니라 대문자가 소문자보다 먼저 정렬된다.
대소문자를 구분하지 않고 비교하려면 .toLowerCase() 또는 .toUpperCase()를 사용해서 비교할 수 있다.
console.log("Apple".toLowerCase() > "apple".toLowerCase()); // false
console.log("Zoo".toLowerCase() > "apple".toLowerCase()); // true
영어뿐만 아니라 다른 언어에서도 정확한 문자열 비교가 필요할 경우, localeCompare()를 사용할 수 있다
console.log("apple".localeCompare("banana")); // -1 (앞에 위치)
console.log("banana".localeCompare("apple")); // 1 (뒤에 위치)
console.log("apple".localeCompare("apple")); // 0 (같음)
localeCompare()는 세 가지 값을 반환한다
1: 첫 번째 문자열이 두 번째보다 앞에 있음0: 두 문자열이 같음1: 첫 번째 문자열이 두 번째보다 뒤에 있음배열을 정렬할 때도 문자열 비교가 필요할 수 있다.
let fruits = ["banana", "Apple", "cherry"];
console.log(fruits.sort());
// 기본 정렬 (대문자가 소문자보다 앞에 옴)
console.log(fruits.sort((a, b) => a.localeCompare(b)));
// 올바른 사전순 정렬
정렬할 때 localeCompare()를 사용하면 대소문자 상관없이 정확한 정렬이 가능하다