Сатрҳо
Ин барои чӣ лозим аст
Матн дар ҳама ҷо: номҳо, паёмҳо дар чат, суроғаҳои саҳифаҳо, паролҳо, ҷустуҷӯ. Лозим аст санҷед, ки дар паём
калимаи манъшуда ҳаст ё не, фосилаҳои зиёдатиро дар майдони воридот бураед, ҳарфи аввалро калон кунед, сатрро
ба калимаҳо ҷудо кунед. Барои ҳамаи ин сатрҳо усулҳо (методҳо) доранд — функсияҳои дарунсохт, ки бо нуқта
даъват мешаванд: text.toUpperCase().
Дарозӣ ва аломатҳои алоҳида
const word = "JavaScript";
console.log(word.length); // 10
console.log(word[0]); // J — рақамгузорӣ аз сифр!
console.log(word[4]); // S
console.log(word.at(-1)); // t — at(-1): аломати охирин
console.log(word[word.length - 1]); // t — ҳамон бо тарзи кӯҳна
Аломатҳо аз сифр рақамгузорӣ мешаванд: сатри дарозиаш 10 рақамҳо (индексҳо)-и аз 0 то 9 дорад.
Сатрҳо тағйирнопазиранд: word[0] = "j" ҳеҷ чизро иваз намекунад. Ҳамаи усулҳо сатри нав
бармегардонанд, вале сатри аслӣ ҳамон мемонад.
Ҳарфҳои калон ва хурд
const city = "Dushanbe";
console.log(city.toUpperCase()); // DUSHANBE
console.log(city.toLowerCase()); // dushanbe
console.log(city); // Dushanbe — аслӣ иваз нашуд
Калон кардани ҳарфи аввал: s[0].toUpperCase() + s.slice(1).
Ҷустуҷӯ
const text = "Ман JavaScript ва HTML меомӯзам";
console.log(text.includes("Java")); // true — зерсатр ҳаст
console.log(text.startsWith("Ман")); // true
console.log(text.endsWith("CSS")); // false
console.log(text.indexOf("HTML")); // 18 — аз куҷо сар мешавад
console.log(text.indexOf("Python")); // -1 — ёфт нашуд
Ҷустуҷӯ ба ҳарфҳои калон/хурд ҳассос аст: "Java".includes("java") → false. Барои ҷустуҷӯ бе назардошти
ин, ҳарду сатрро ба ҳарфҳои хурд оред.
Буридани порча: slice
slice(оғоз, охир) қисми сатрро аз оғоз то охир (бе дохил кардани он) бармегардонад:
const s = "JavaScript";
console.log(s.slice(0, 4)); // Java
console.log(s.slice(4)); // Script — то охир
console.log(s.slice(-3)); // ipt — се охирин
Иваз, буридан, такрор
console.log("гурба ва гурба".replace("гурба", "саг")); // саг ва гурба — танҳо аввалин
console.log("гурба ва гурба".replaceAll("гурба", "саг")); // саг ва саг — ҳама
console.log(" салом ".trim()); // "салом" — бе фосилаҳо дар канорҳо
console.log("ҳа".repeat(3)); // ҳаҳаҳа
console.log("7".padStart(3, "0")); // 007 — аз чап то дарозии 3 пур кардан
Ҷудо кардан ва пайвастан: split ва join
const csv = "себ,банан,гелос";
const fruits = csv.split(",");
console.log(fruits);
console.log(fruits.length);
console.log(fruits.join(" + "));
Натиҷа:
["себ","банан","гелос"]
3
себ + банан + гелос
split сатрро ба массив-и порчаҳо табдил медиҳад (дар бораи массивҳо — дар мавзӯъҳои оянда), ва join
массивро боз ба сатр мепайвандад. split("") ба аломатҳои алоҳида ҷудо мекунад.
Гузаштан аз аломатҳо
let vowels = 0;
for (const ch of "programming") {
if ("aeiou".includes(ch)) vowels++;
}
console.log(vowels);
Натиҷа:
3
for (const ch of сатр) бо навбат ҳар аломатро ба ch мегузорад.
Аломатҳои махсус
Дар дохили сатр хати моили баръакс \ аломати махсусро оғоз мекунад: \n — гузариш ба сатри нав, \t —
табулятсия, \" — нохунак дар дохили сатр бо ҳамин гуна нохунакҳо, \\ — худи хати моили баръакс.
console.log("Сатри 1\nСатри 2");
Натиҷа:
Сатри 1
Сатри 2
Дар дохил чӣ гуна кор мекунад
Сатр ҳамчун пайдарпайии аломатҳо дар рамзгузории UTF-16 нигоҳ дошта мешавад. Муқоисаи "a" < "b" аз рӯи
кодҳои аломатҳо мегузарад: "a".charCodeAt(0) → 97. Бинобар ин "Z" < "a" — ҳақиқат аст (кодҳои ҳарфҳои
калон хурдтаранд), ва ҷобаҷокунии калимаҳо бо ҳарфҳои махсус (ҳ, ӯ, ҷ) метавонад ҳайрон кунад: кодҳои онҳо
аз алифбои асосӣ дуранд.
Аз сабаби тағйирнопазирӣ ҳар даъвати усул сатри нав месозад. Агар дар сатр чизеро «иваз кардан» лозим бошад,
натиҷаро ҳатман нигоҳ медоранд: name = name.trim();.
Хатоҳои маъмул
- Усул сатрро иваз намекунад.
name.toUpperCase();бе бахшидан ҳеҷ кор намекунад. Лозим астname = name.toUpperCase();ё натиҷаро фавран истифода баред. - Қавсҳо фаромӯш шуданд.
text.toUpperCaseбе()— худи функсия аст, на натиҷа. length()бо қавсҳо.length— хосият аст, на усул:text.length.- Хато ба як дар
slice. Охир дохил намешавад:"abc".slice(0, 2)→"ab". replaceтанҳо вохӯрии аввалро иваз мекунад. Барои ҳама —replaceAll.
Ёддошт
| Чӣ | Чӣ тавр |
|---|---|
| Дарозӣ | s.length |
| Аломат | s[0], s.at(-1) |
| Ҳарфҳо | s.toUpperCase(), s.toLowerCase() |
| Ҳаст ё не | s.includes("x"), startsWith, endsWith |
| Дар куҷо | s.indexOf("x") → рақам ё -1 |
| Порча | s.slice(аз, то) |
| Иваз | s.replace(a, b), s.replaceAll(a, b) |
| Фосилаҳо дар канорҳо | s.trim() |
| Такрор, пуркунӣ | s.repeat(3), s.padStart(3, "0") |
| Ба массив ва баръакс | s.split(","), arr.join(", ") |