tech.junha.kr

노트/JavaScript

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); // "—"