Baseline Widely available
СводкаÐеÑод codePointAt()
возвÑаÑÐ°ÐµÑ Ð½ÐµÐ¾ÑÑиÑаÑелÑное Ñелое ÑиÑло, ÑвлÑÑÑееÑÑ Ð·Ð°ÐºÐ¾Ð´Ð¸ÑованнÑм в UTF-16 знаÑением кодовой ÑоÑки.
pos
ÐозиÑÐ¸Ñ ÑлеменÑа в ÑÑÑоке, ÑÑÑ ÐºÐ¾Ð´Ð¾Ð²Ð°Ñ ÑоÑка возвÑаÑаеÑÑÑ ÑÑнкÑией.
ÐÑли на Ñказанной позиÑии Ð½ÐµÑ ÑлеменÑов, бÑÐ´ÐµÑ Ð²Ð¾Ð·Ð²ÑаÑено знаÑение undefined
. ÐÑли ÑÑÑÑогаÑÐ½Ð°Ñ Ð¿Ð°Ñа UTF-16 не наÑинаеÑÑÑ Ð² позиÑии pos
, бÑÐ´ÐµÑ Ð²Ð¾Ð·Ð²ÑаÑено кодовое знаÑение в позиÑии pos
.
codePointAt()
"ABC".codePointAt(1); // 66
"\uD800\uDC00".codePointAt(0); // 65536
"XYZ".codePointAt(42); // undefined
ÐолиÑил
СледÑÑÑий полиÑил ÑаÑÑиÑÑÐµÑ Ð¿ÑоÑоÑип ÑÑÑоки опÑеделÑнной в ECMAScript 6 ÑÑнкÑией codePointAt()
, еÑли бÑаÑÐ·ÐµÑ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ ÐµÑ Ñодной поддеÑжки.
/*! http://mths.be/codepointat v0.1.0 Ð¾Ñ @mathias */
if (!String.prototype.codePointAt) {
(function () {
"use strict"; // необÑ
одимо Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки меÑодов `apply`/`call` Ñ `undefined`/`null`
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) {
// младÑÐ°Ñ ÑаÑÑÑ ÑÑÑÑогаÑной паÑÑ
// http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
return (first - 0xd800) * 0x400 + second - 0xdc00 + 0x10000;
}
}
return first;
};
if (Object.defineProperty) {
Object.defineProperty(String.prototype, "codePointAt", {
value: codePointAt,
configurable: true,
writable: true,
});
} else {
String.prototype.codePointAt = codePointAt;
}
})();
}
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
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