A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/codePointAt below:

String.prototype.codePointAt() - JavaScript | MDN

String.prototype.codePointAt()

Baseline Widely available

String 값의 codePointAt() 메서드는 주어진 인덱스에서 시작하는 문자의 유니코드 코드 포인트 값인 음수가 아닌 정수를 반환합니다. 인덱스는 여전히 유니코드 코드 포인트가 아닌 UTF-16 코드 단위를 기반으로 한다는 점에 유의하시기 바랍니다.

시도해 보기
const icons = "☃★♲";

console.log(icons.codePointAt(1));
// Expected output: "9733"
구문 매개변수
index

반환할 문자의 0 기반 인덱스. 정수로 변환되는 규칙에 따라 undefined는 0으로 변환됩니다.

반환 값

주어진 index에 있는 문자열의 코드 포인트 값을 표현하는 음이 아닌 정수.

설명

문자열의 문자는 왼쪽에서 오른쪽으로 인덱싱됩니다. 첫 번째 문자의 인덱스는 0이고, 문자열 str의 마지막 문자의 인덱스는 str.length - 1입니다.

유니코드 코드 포인트의 범위는 0에서 1114111(0x10FFFF)까지입니다. UTF-16에서 각 문자열 인덱스는 0 - 65535 값을 갖는 코드 단위입니다. 더 큰 코드 포인트 값은 16비트 서로게이트 의사 문자의 한 쌍으로 표현됩니다. 따라서 codePointAt()은 두 문자열 인덱스에 걸쳐 있을 수 있는 코드 포인트를 반환합니다. 유니코드에 대한 자세한 내용은 UTF-16 문자, 유니코드 코드 포인트 및 문자소 클러스터를 참조하세요.

예제 codePointAt() 사용하기
"ABC".codePointAt(0); // 65
"ABC".codePointAt(0).toString(16); // 41

"😍".codePointAt(0); // 128525
"\ud83d\ude0d".codePointAt(0); // 128525
"\ud83d\ude0d".codePointAt(0).toString(16); // 1f60d

"😍".codePointAt(1); // 56845
"\ud83d\ude0d".codePointAt(1); // 56845
"\ud83d\ude0d".codePointAt(1).toString(16); // de0d

"ABC".codePointAt(42); // undefined
반복문에서 codePointAt() 사용

반복에 문자열 인덱스를 사용하면 동일한 코드 포인트를 두 번(선행 서로게이트에 한 번, 후행 서로게이트에 한 번) 방문하게 되고 두 번째 codePointAt()은 후행 서로게이트만 반환하므로 인덱스로 반복은 피하는 것이 좋습니다.

const str = "\ud83d\udc0e\ud83d\udc71\u2764";

for (let i = 0; i < str.length; i++) {
  console.log(str.codePointAt(i).toString(16));
}
// '1f40e', 'dc0e', '1f471', 'dc71', '2764'

대신 코드 포인트별로 반복하는 문자열의 @@iterator를 호출하는 for...of 문이나 문자열 전개를 사용합니다. 그런 다음 codePointAt(0)을 사용하여 각 요소의 코드 포인트를 가져옵니다.

for (const codePoint of str) {
  console.log(codePoint.codePointAt(0).toString(16));
}
// '1f40e', '1f471', '2764'

[...str].map((cp) => cp.codePointAt(0).toString(16));
// ['1f40e', '1f471', '2764']
명세서 브라우저 호환성 같이 보기

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4