Baseline Widely available *
ÐбÑÐµÐºÑ String
иÑполÑзÑеÑÑÑ, ÑÑÐ¾Ð±Ñ Ð¿ÑедÑÑавиÑÑ Ð¸ конÑÑÑÑиÑоваÑÑ Ð¿Ð¾ÑледоваÑелÑноÑÑÑ Ñимволов.
СÑÑоковÑе лиÑеÑÐ°Ð»Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ ÑледÑÑÑÐ¸Ñ ÑоÑм:
'ÑÑÑока ÑекÑÑа' "ÑÑÑока ÑекÑÑа" "䏿 español English हिनà¥à¤¦à¥ Ø§ÙØ¹Ø±Ø¨ÙØ© português বাà¦à¦²à¦¾ ÑÑÑÑкий æ¥æ¬èª ਪੰà¨à¨¾à¨¬à© íêµì´ தமிழà¯"
ÐÑоме ÑегÑлÑÑнÑÑ Ð¿ÐµÑаÑнÑÑ Ñимволов можно иÑполÑзоваÑÑ ÑпеÑиалÑнÑе ÑимволÑ, коÑоÑÑе можно закодиÑоваÑÑ, иÑполÑзÑÑ Ð½Ð¾ÑаÑÐ¸Ñ escape-поÑледоваÑелÑноÑÑей:
Ðод ÐÑвод\0
нÑлевой Ñимвол (Ñимвол NUL) \'
одинаÑÐ½Ð°Ñ ÐºÐ°Ð²ÑÑка \"
Ð´Ð²Ð¾Ð¹Ð½Ð°Ñ ÐºÐ°Ð²ÑÑка \\
обÑаÑнÑй ÑÐ»ÐµÑ \n
Ð½Ð¾Ð²Ð°Ñ ÑÑÑока \r
возвÑÐ°Ñ ÐºÐ°ÑеÑки \v
веÑÑикалÑÐ½Ð°Ñ ÑабÑлÑÑÐ¸Ñ \t
ÑабÑлÑÑÐ¸Ñ \b
забой \f
подаÑа ÑÑÑаниÑÑ \uXXXX
Юникод-Ñимвол \xXX
Ñимвол в кодиÑовке Latin-1
Ðибо можно иÑполÑзоваÑÑ Ð³Ð»Ð¾Ð±Ð°Ð»ÑнÑй обÑÐµÐºÑ String
напÑÑмÑÑ:
String(thing) new String(thing)ÐаÑамеÑÑÑ
thing
ÐÑÑ, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑеобÑазовано в ÑÑÑокÑ.
СÑÑоки Ð¿Ð¾Ð»ÐµÐ·Ð½Ñ Ð´Ð»Ñ Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ
, коÑоÑÑе можно пÑедÑÑавиÑÑ Ð² ÑекÑÑовой ÑоÑме. ÐекоÑоÑÑе из наиболее ÑаÑÑÑÑ
опеÑаÑий Ñо ÑÑÑоками â ÑÑо пÑовеÑка иÑ
длинÑ, поÑÑÑоение ÑÑÑоки Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¾Ð¿ÐµÑаÑий ÑÑÑоковой конкаÑенаÑии + и +=, пÑовеÑка на ÑÑÑеÑÑвование или меÑÑоположение подÑÑÑок Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼ÐµÑода indexOf()
, либо извлеÑение подÑÑÑок Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼ÐµÑода substring()
.
СÑÑеÑÑвÑÐµÑ Ð´Ð²Ð° ÑпоÑоба добÑаÑÑÑÑ Ð´Ð¾ конкÑеÑного Ñимвола в ÑÑÑоке. РпеÑвом ÑпоÑобе иÑполÑзÑеÑÑÑ Ð¼ÐµÑод charAt()
:
return "коÑ".charAt(1); // веÑнÑÑ "о"
ÐÑÑгим ÑпоÑобом (введÑннÑм в ECMAScript 5) ÑвлÑеÑÑÑ ÑаÑÑмоÑÑение ÑÑÑоки как маÑÑивоподобного обÑекÑа, в коÑоÑом ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð¸Ð¼ÐµÑÑ ÑооÑвеÑÑÑвÑÑÑие ÑиÑловÑе индекÑÑ:
return "коÑ"[1]; // веÑнÑÑ "о"
ÐÑи доÑÑÑпе к Ñимволам поÑÑедÑÑвом ноÑаÑии Ñ ÐºÐ²Ð°Ð´ÑаÑнÑми Ñкобками, попÑÑка ÑдалиÑÑ Ñимвол, или пÑиÑвоиÑÑ Ð·Ð½Ð°Ñение ÑиÑÐ»Ð¾Ð²Ð¾Ð¼Ñ ÑвойÑÑÐ²Ñ Ð·Ð°ÐºÐ¾Ð½ÑиÑÑÑ Ð½ÐµÑдаÑей, поÑколÑÐºÑ ÑÑи ÑвойÑÑва ÑвлÑÑÑÑÑ Ð½ÐµÐ·Ð°Ð¿Ð¸ÑÑваемÑми и ненаÑÑÑаиваемÑми. СмоÑÑиÑе докÑменÑаÑÐ¸Ñ Ð¿Ð¾ меÑÐ¾Ð´Ñ Object.defineProperty()
Ð´Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑной инÑоÑмаÑии.
РазÑабоÑÑики на C имеÑÑ Ð´Ð»Ñ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ ÑÑÑок ÑÑнкÑÐ¸Ñ strcmp()
. Ð JavaScript Ð²Ñ Ð¿ÑоÑÑо иÑполÑзÑеÑе опеÑаÑоÑÑ Ð¼ÐµÐ½ÑÑе и болÑÑе:
var a = "a";
var b = "b";
if (a < b) {
// true
print(a + " менÑÑе Ñем " + b);
} else if (a > b) {
print(a + " болÑÑе Ñем " + b);
} else {
print(a + " и " + b + " ÑавнÑ.");
}
ÐодобнÑй ÑезÑлÑÑÐ°Ñ Ñакже Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð´Ð¾ÑÑигнÑÑ Ð¿ÑÑÑм иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼ÐµÑода localeCompare()
, имеÑÑегоÑÑ Ñ Ð²ÑеÑ
ÑкземплÑÑов String
.
String
ÐбÑаÑиÑе внимание, ÑÑо JavaScript ÑазлиÑÐ°ÐµÑ Ð¾Ð±ÑекÑÑ String
и знаÑÐµÐ½Ð¸Ñ ÑÑÑокового пÑимиÑива (Ñо же Ñамое веÑно и Ð´Ð»Ñ Ð¾Ð±ÑекÑов Boolean
и Number
).
СÑÑоковÑе лиÑеÑÐ°Ð»Ñ (обознаÑаемÑе двойнÑми или одинаÑнÑми кавÑÑками) и ÑÑÑоки, возвÑаÑÑннÑе вÑзовом String
в неконÑÑÑÑкÑоÑном конÑекÑÑе (Ñо еÑÑÑ, без иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ»ÑÑевого Ñлова new
) ÑвлÑÑÑÑÑ ÑÑÑоковÑми пÑимиÑивами. JavaScript авÑомаÑиÑеÑки пÑеобÑазÑÐµÑ Ð¿ÑимиÑÐ¸Ð²Ñ Ð² обÑекÑÑ String
, Ñак ÑÑо на ÑÑÑоковÑÑ
пÑимиÑиваÑ
возможно иÑполÑзоваÑÑ Ð¼ÐµÑÐ¾Ð´Ñ Ð¾Ð±ÑекÑа String
. РконÑекÑÑаÑ
, когда на пÑимиÑивной ÑÑÑоке вÑзÑваеÑÑÑ Ð¼ÐµÑод или пÑоиÑÑ
Ð¾Ð´Ð¸Ñ Ð¿Ð¾Ð¸Ñк ÑвойÑÑва, JavaScript авÑомаÑиÑеÑки обоÑаÑÐ¸Ð²Ð°ÐµÑ ÑÑÑоковÑй пÑимиÑив обÑекÑом и вÑзÑÐ²Ð°ÐµÑ Ð½Ð° нÑм меÑод или иÑÐµÑ Ð² нÑм ÑвойÑÑво.
var s_prim = "foo";
var s_obj = new String(s_prim);
console.log(typeof s_prim); // вÑÐ²ÐµÐ´ÐµÑ 'string'
console.log(typeof s_obj); // вÑÐ²ÐµÐ´ÐµÑ 'object'
СÑÑоковÑе пÑимиÑÐ¸Ð²Ñ Ð¸ обÑекÑÑ String
Ñакже даÑÑ ÑазнÑе ÑезÑлÑÑаÑÑ Ð¿Ñи иÑполÑзовании глобалÑной ÑÑнкÑии eval()
. ÐÑимиÑивÑ, пеÑедаваемÑе в eval()
, ÑÑакÑÑÑÑÑÑ ÐºÐ°Ðº иÑÑ
однÑй код; обÑекÑÑ Ð¶Ðµ String
ÑÑакÑÑÑÑÑÑ Ñак же, как и вÑе оÑÑалÑнÑе обÑекÑÑ, а именно: возвÑаÑаеÑÑÑ Ñам обÑекÑ. ÐапÑимеÑ:
var s1 = "2 + 2"; // ÑоздаÑÑ ÑÑÑоковÑй пÑимиÑив
var s2 = new String("2 + 2"); // ÑоздаÑÑ Ð¾Ð±ÑÐµÐºÑ String
console.log(eval(s1)); // вÑÐ²ÐµÐ´ÐµÑ ÑиÑло 4
console.log(eval(s2)); // вÑÐ²ÐµÐ´ÐµÑ ÑÑÑÐ¾ÐºÑ '2 + 2'
Ðо ÑÑим пÑиÑинам код Ð¼Ð¾Ð¶ÐµÑ ÑломаÑÑÑÑ, еÑли он полÑÑÐ°ÐµÑ Ð¾Ð±ÑекÑÑ String
, а Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ ÑÑÑоковÑе пÑимиÑивÑ, Ñ
оÑÑ Ð² обÑем ÑлÑÑае вам не нÑжно беÑпокоиÑÑÑÑ Ð¾ ÑазлиÑиÑÑ
Ð¼ÐµÐ¶Ð´Ñ Ð½Ð¸Ð¼Ð¸.
ÐбÑÐµÐºÑ String
Ñакже вÑегда Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑеобÑазован в его пÑимиÑивнÑй аналог пÑи помоÑи меÑода valueOf()
.
console.log(eval(s2.valueOf())); // вÑÐ²ÐµÐ´ÐµÑ ÑиÑло 4
СвойÑÑва
String.length
Ð¥ÑÐ°Ð½Ð¸Ñ Ð´Ð»Ð¸Ð½Ñ ÑÑÑоки. ТолÑко Ð´Ð»Ñ ÑÑениÑ.
String.fromCharCode()
ÐозвÑаÑÐ°ÐµÑ ÑÑÑокÑ, ÑозданнÑÑ Ð¸Ð· Ñказанной поÑледоваÑелÑноÑÑи знаÑений Юникода.
String.fromCodePoint()
ÐкÑпеÑименÑалÑÐ½Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ
ÐозвÑаÑÐ°ÐµÑ ÑÑÑокÑ, ÑозданнÑÑ Ð¸Ð· Ñказанной поÑледоваÑелÑноÑÑи кодовÑÑ ÑоÑек Юникода.
String.raw()
ÐкÑпеÑименÑалÑÐ½Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ
ÐозвÑаÑÐ°ÐµÑ ÑÑÑокÑ, ÑозданнÑÑ Ð¸Ð· ÑÑÑой Ñаблонной ÑÑÑоки.
String
ÐеÑÐ¾Ð´Ñ ÑкземплÑÑов String
Ñакже доÑÑÑÐ¿Ð½Ñ Ð² Firefox как ÑаÑÑÑ JavaScript 1.6 (коÑоÑÑй не ÑвлÑеÑÑÑ ÑаÑÑÑÑ ÑÑандаÑÑа ECMAScript) на обÑекÑе String
, ÑÑо позволÑÐµÑ Ð¿ÑименÑÑÑ ÑÑи меÑÐ¾Ð´Ñ Ðº лÑÐ±Ð¾Ð¼Ñ Ð¾Ð±ÑекÑÑ:
var num = 15;
console.log(String.replace(num, /5/, "2"));
ÐбÑие меÑÐ¾Ð´Ñ Ñакже доÑÑÑÐ¿Ð½Ñ Ð´Ð»Ñ Ð¾Ð±ÑекÑа Array
.
СледÑÑÑÐ°Ñ Ð¿ÑоÑлойка позволÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð¸Ñ Ð²Ð¾ вÑÐµÑ Ð±ÑаÑзеÑÐ°Ñ :
/*globals define*/
// ÐÑедполагаем, ÑÑо вÑе ÑÑебÑемÑе меÑÐ¾Ð´Ñ ÑкземплÑÑов String Ñже пÑиÑÑÑÑÑвÑÑÑ
// (Ð´Ð»Ñ Ð½Ð¸Ñ
Ñак же можно иÑполÑзоваÑÑ Ð¿Ð¾Ð»Ð¸ÑилÑ, еÑли иÑ
неÑ)
(function () {
"use strict";
var i,
// ÐÑ Ð¼Ð¾Ð³Ð»Ð¸ поÑÑÑоиÑÑ Ð¼Ð°ÑÑив меÑодов ÑледÑÑÑим обÑазом, однако меÑод
// getOwnPropertyNames() нелÑÐ·Ñ ÑеализоваÑÑ Ð½Ð° JavaScript:
// Object.getOwnPropertyNames(String).filter(function(methodName) {
// return typeof String[methodName] === 'function';
// });
methods = [
"quote",
"substring",
"toLowerCase",
"toUpperCase",
"charAt",
"charCodeAt",
"indexOf",
"lastIndexOf",
"startsWith",
"endsWith",
"trim",
"trimLeft",
"trimRight",
"toLocaleLowerCase",
"toLocaleUpperCase",
"localeCompare",
"match",
"search",
"replace",
"split",
"substr",
"concat",
"slice",
],
methodCount = methods.length,
assignStringGeneric = function (methodName) {
var method = String.prototype[methodName];
String[methodName] = function (arg1) {
return method.apply(arg1, Array.prototype.slice.call(arguments, 1));
};
};
for (i = 0; i < methodCount; i++) {
assignStringGeneric(methods[i]);
}
})();
ÐÑимеÑÑ ÐÑимеÑ: пÑеобÑазование в ÑÑÑокÑ
ÐбÑÐµÐºÑ String
можно иÑполÑзоваÑÑ ÐºÐ°Ðº «безопаÑнÑÑ» алÑÑеÑнаÑÐ¸Ð²Ñ Ð¼ÐµÑÐ¾Ð´Ñ toString()
, Ñак как Ñ
оÑÑ Ð¾Ð½ обÑÑно и вÑзÑÐ²Ð°ÐµÑ ÑооÑвеÑÑÑвÑÑÑий меÑод toString()
, он Ñакже ÑабоÑÐ°ÐµÑ Ð¸ Ð´Ð»Ñ Ð·Ð½Ð°Ñений null
и undefined
. ÐапÑимеÑ:
var outputStrings = [];
for (var i = 0, n = inputValues.length; i < n; ++i) {
outputStrings.push(String(inputValues[i]));
}
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
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