diff options
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/string/codepointat')
| -rw-r--r-- | files/uk/web/javascript/reference/global_objects/string/codepointat/index.html | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/string/codepointat/index.html b/files/uk/web/javascript/reference/global_objects/string/codepointat/index.html deleted file mode 100644 index 0a917f5885..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/codepointat/index.html +++ /dev/null @@ -1,142 +0,0 @@ ---- -title: String.prototype.codePointAt() -slug: Web/JavaScript/Reference/Global_Objects/String/codePointAt -tags: - - ECMAScript 2015 - - JavaScript - - String - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/String/codePointAt ---- -<div>{{JSRef}}</div> - -<p>Метод <strong><code>codePointAt()</code></strong> вертає невід'ємне ціле число, яке є значенням коду символу Юнікоду.</p> - -<div>{{EmbedInteractiveExample("pages/js/string-codepointat.html","shorter")}}</div> - - - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.codePointAt(<var>pos</var>)</code></pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code><var>pos</var></code></dt> - <dd>Позиція елемента у <code><var>str</var></code><var>,</var> код символа з якої треба повернути.</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Число, що відображає значення коду символу з наданої позиції <code><var>pos</var></code>. Якщо на позиції <code>pos</code> немає елемента, вертається {{jsxref("undefined")}}.</p> - -<h2 id="Опис">Опис</h2> - -<p>Якщо на вказаній позиції немає елемента, повертається {{jsxref("undefined")}}. Якщо на позиції <code><var>pos</var></code> не починається сурогатна пара UTF-16, то повертається кодова одиниця позиції <code><var>pos</var></code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_codePointAt">Використання <code>codePointAt()</code></h3> - -<pre class="brush: js">'ABC'.codePointAt(1) // 66 -'\uD800\uDC00'.codePointAt(0) // 65536 - -'XYZ'.codePointAt(42) // undefined -</pre> - -<h3 id="Цикл_з_codePointAt">Цикл з <code>codePointAt()</code></h3> - -<pre class="brush: js"><code class="md-code md-lang-javascript"><span class="md-code-keyword">for</span> (<span class="md-code-keyword">let</span> codePoint of <span class="md-code-string">'\ud83d\udc0e\ud83d\udc71\u2764'</span>) { - <span class="md-code-built_in">console</span>.log(codePoint<mark class="md-mark md-code-mark">.codePointAt(<span class="md-code-number">0</span>).toString(<span class="md-code-number">16</span>)</mark>) -} -// <span class="md-code-comment">'1f40e', '1f471', '2764</span></code>'<code class="md-code md-lang-javascript"><span class="md-code-comment"> </span></code> -</pre> - -<h2 id="Поліфіл">Поліфіл</h2> - -<p>Наступний код додає у рядки функцію <code>codePointAt()</code> згідно специфікації ECMAScript 2015 для переглядачів без вбудованої підтримки.</p> - -<pre class="brush: js">/*! https://mths.be/codepointat v0.2.0 автор @mathias */ -if (!String.prototype.codePointAt) { - (function() { - 'use strict'; // необхідно для підтримки `apply`/`call` з `undefined`/`null` - var defineProperty = (function() { - // IE 8 підтримує `Object.defineProperty` лише на DOM-елементах - try { - var object = {}; - var $defineProperty = Object.defineProperty; - var result = $defineProperty(object, object, object) && $defineProperty; - } catch(error) {} - return result; - }()); - var codePointAt = function(position) { - if (this == null) { - throw TypeError(); - } - var string = String(this); - var size = string.length; - // `ToInteger` - var index = position ? Number(position) : 0; - if (index != index) { // краще `isNaN` - index = 0; - } - // Врахування індексів за межами існуючих значень: - if (index < 0 || index >= size) { - return undefined; - } - // Отримати першу кодову одиницю - var first = string.charCodeAt(index); - var second; - if ( // перевірити, чи вона є початком сурогатної пари - first >= 0xD800 && first <= 0xDBFF && // високий сурогат - size > index + 1 // існує наступна кодова одиниця - ) { - second = string.charCodeAt(index + 1); - if (second >= 0xDC00 && second <= 0xDFFF) { // низький сурогат - // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae - return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000; - } - } - return first; - }; - if (defineProperty) { - defineProperty(String.prototype, 'codePointAt', { - 'value': codePointAt, - 'configurable': true, - 'writable': true - }); - } else { - String.prototype.codePointAt = codePointAt; - } - }()); -} -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.codepointat', 'String.prototype.codePointAt')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - -<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> - -<p>{{Compat("javascript.builtins.String.codePointAt")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.fromCodePoint()")}}</li> - <li>{{jsxref("String.fromCharCode()")}}</li> - <li>{{jsxref("String.prototype.charCodeAt()")}}</li> - <li>{{jsxref("String.prototype.charAt()")}}</li> -</ul> |
