String.fromCodePoint()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.
String.fromCodePoint()
정적 메서드는 명시된 코드 포인트의 시퀀스로부터 생성된 문자열을 반환합니다.
시도해보기
구문
String.fromCodePoint()
String.fromCodePoint(num1)
String.fromCodePoint(num1, num2)
String.fromCodePoint(num1, num2, /* …, */ numN)
매개변수
num1
, …,numN
-
유니코드의 코드 포인트를 표현하는
0
부터0x10FFFF
이하의 정수.
반환 값
명시된 코드 포인트의 시퀀스를 사용하여 생성된 문자열
예외
RangeError
-
numN
이 정수가 아니거나0
보다 작거나 혹은 숫자로 변환된 후0x10FFFF
보다 크면 발생합니다.
설명
fromCodePoint()
는 String
의 정적 메서드이기 때문에, 항상 사용자가 만든 String
값의 메서드가 아닌 String.fromCodePoint()
로 사용합니다.
유니코드 코드 포인트의 범위는 0
에서 1114111
(0x10FFFF
)까지입니다. UTF-16에서 각 문자열 인덱스는 0
- 65535
값을 갖는 코드 단위입니다. 더 높은 코드 포인트는 16비트 서로게이트 의사 문자의 쌍으로 표현됩니다. 따라서 fromCodePoint()
는 전달된 인수 수보다 length
(UTF-16 코드 단위)가 더 큰 문자열을 반환할 수 있습니다. 유니코드에 대한 자세한 내용은 UTF-16 문자, 유니코드 코드 포인트 및 문자소 클러스터를 참조하세요.
예제
fromCodePoint() 사용하기
아래는 유효한 입력입니다.
String.fromCodePoint(42); // "*"
String.fromCodePoint(65, 90); // "AZ"
String.fromCodePoint(0x404); // "\u0404" === "Є"
String.fromCodePoint(0x2f804); // "\uD87E\uDC04"
String.fromCodePoint(194564); // "\uD87E\uDC04"
String.fromCodePoint(0x1d306, 0x61, 0x1d307); // "\uD834\uDF06a\uD834\uDF07"
아래는 유효하지 않은 입력입니다.
String.fromCodePoint("_"); // RangeError
String.fromCodePoint(Infinity); // RangeError
String.fromCodePoint(-1); // RangeError
String.fromCodePoint(3.14); // RangeError
String.fromCodePoint(3e-2); // RangeError
String.fromCodePoint(NaN); // RangeError
fromCharCode()와의 비교
String.fromCharCode()
는 코드 포인트를 지정하여 보조 문자(예: 코드 포인트 0x010000
- 0x10FFFF
)를 반환할 수 없습니다. 대신 보조 문자를 반환하려면 UTF-16 서로게이트 쌍이 필요합니다.
String.fromCharCode(0xd83c, 0xdf03); // Code Point U+1F303 "Night with
String.fromCharCode(55356, 57091); // Stars" === "\uD83C\uDF03"
반면 String.fromCodePoint()
는 코드 포인트(UTF-32 코드 단위와 동일)를 지정하여 4바이트 보조 문자뿐만 아니라 보다 일반적인 2바이트 BMP 문자도 반환할 수 있습니다.
String.fromCodePoint(0x1f303); // or 127747 in decimal
명세서
Specification |
---|
ECMAScript Language Specification # sec-string.fromcodepoint |
브라우저 호환성
BCD tables only load in the browser