String
작성
인덱싱
const string = 'ABCDE_ABCDE';
string.charAt(0);
// A
string..indexOf('D');
// 3
// 맨 처음에 나오는 값의 인덱스 값 반환
string..indexOf('D', 4);
// 9
// arg2: search value 찾기 시작하는 인덱스 값
string..indexOf('Z');
// -1
배열 반환
const string = 'The quick brown fox jumps over the lazy dog.';
const characters = string.split('');
// ['T', 'h', 'e', ' ', 'q', ...]
const words = string.split(' ');
// ['The', 'quick', 'brown', ...]
const copy = string.split();
// ['The quick brown fox jumps...']
Surrogate Pair
split()은 UTF-16 코드유닛으로 나눈다.- 일부 특수 문자나, 이모지는 두 개의 16비트 유닛을 조합된
surrogate pair로 이루어져 있다.- (유니코드 문자 집합에서 16비트로 표현할 수 없는 크기를 가지는 문자들을 나타내기 위한 방법)
- 따라서 이때는
Spread Syntax또는Array.from()의 얕은 복사를 이용한다.
const a = '𝟘𝟙𝟚𝟛'.split('');
// ["�","�","�","�","�","�","�","�"]
const spreadSyntax = [...'𝟘𝟙𝟚𝟛'];
// ["𝟘","𝟙","𝟚","𝟛"]
const arrayFromMethod = Array.from('𝟘𝟙𝟚𝟛');
// ["𝟘","𝟙","𝟚","𝟛"]
String.fromCharCode()
- UTF-16 코드로부터 문자열을 생성해 반환한다.
String.fromCharCode(65, 66, 67); // "ABC"
String.fromCharCode(0132124); // '둔;
String.fromCharCode(0x2014); // "—"