- Sətrin uzunluğunu tapmaq və indeksə görə simvola müraciət etmək
trim,includes,slice,splitkimi metodlardan istifadə etmək- Şablon sətirləri ilə dəyişənləri və ifadələri mətnə yerləşdirmək
Telefonun ekranında «Salam, Aysel! Sənin 3 yeni mesajın var» yazısını görürsən. Proqram bu cümləni hazır saxlamır — onu hissələrdən qurur: sabit söz, istifadəçinin adı və mesajların sayı. Mətnlə işləmək proqramlaşdırmanın ən çox rast gəlinən işlərindən biridir.
Sətir yaratmaq
Sətir (string) — simvollar ardıcıllığıdır. Onu tək dırnaqda, cüt dırnaqda və ya tərs dırnaqlar (backtick) arasında yazmaq olar. Tək və cüt dırnaq eyni işləyir; əsas odur ki, açan və bağlayan dırnaq eyni olsun. Sətrin içində xüsusi simvollar üçün \ işarəsindən istifadə olunur: \n yeni sətir, \' isə dırnaq simvolu deməkdir.
const single = 'Hello';
const double = "Hello";
const quote = 'It\'s JavaScript';
console.log(single, double);
console.log(quote);
console.log('Line 1\nLine 2');▸ Gözlənilən nəticə
Hello Hello It's JavaScript Line 1 Line 2
Uzunluq və indekslər
length xassəsi sətirdə neçə simvol olduğunu göstərir. Hər simvolun öz nömrəsi — indeksi var və sayma 0-dan başlayır. Ona görə 'Baku' sətrində B 0 indeksli, u isə 3 indeksli simvoldur. Sonuncu simvolu at(-1) ilə də götürmək olar.
const city = 'Baku';
console.log(city.length);
console.log(city[0]);
console.log(city[city.length - 1]);
console.log(city.at(-1));
console.log(city.toUpperCase());
console.log(city.toLowerCase());▸ Gözlənilən nəticə
4 B u u BAKU baku
Faydalı metodlar
Metod qiymətə «yapışmış» funksiyadır və nöqtə ilə çağırılır: city.toUpperCase(). Sətir metodları çoxdur, amma gündəlik işlərin əksəriyyəti üçün aşağıdakılar kifayətdir.
| Metod | Nə edir | Nümunə |
|---|---|---|
trim() | əvvəldəki və sondakı boşluqları silir | ' hi '.trim() → 'hi' |
includes(x) | sətirdə x olub-olmadığını yoxlayır | 'cat'.includes('a') → true |
indexOf(x) | x-in ilk indeksini qaytarır, yoxdursa −1 | 'cat'.indexOf('t') → 2 |
slice(a, b) | a-dan b-yə qədər hissəni kəsir (b daxil deyil) | 'Hello'.slice(1, 3) → 'el' |
replace(a, b) | ilk a-nı b ilə əvəz edir | 'hi'.replace('h', 'H') → 'Hi' |
split(x) | sətri x-ə görə hissələrə bölüb massiv qaytarır | 'a-b'.split('-') → ['a', 'b'] |
const email = ' Leyla.Mammadova@Example.com ';
const clean = email.trim().toLowerCase();
console.log(clean);
console.log(clean.includes('@'));
console.log(clean.indexOf('@'));
console.log(clean.slice(0, clean.indexOf('@')));
console.log(clean.endsWith('.com'));▸ Gözlənilən nəticə
leyla.mammadova@example.com true 15 leyla.mammadova true
trim(), sonra toLowerCase().const sentence = 'I love JavaScript';
console.log(sentence.replace('love', 'enjoy'));
console.log(sentence.split(' '));
console.log('ha'.repeat(3));
console.log('7'.padStart(3, '0'));
console.log(sentence);▸ Gözlənilən nəticə
I enjoy JavaScript [ 'I', 'love', 'JavaScript' ] hahaha 007 I love JavaScript
Şablon sətirləri
Mətni + ilə hissə-hissə yapışdırmaq yorucudur: boşluqları unutmaq asandır. Şablon sətirləri (template literals) bunu asanlaşdırır. Onlar tərs dırnaqlar arasında yazılır — ingilis düzülüşlü klaviaturada bu simvol Esc düyməsinin altındadır. İçində ${...} yazanda mötərizədəki ifadənin qiyməti mətnə yerləşdirilir.
const name = 'Aysel';
const messages = 3;
console.log('Hi, ' + name + '! You have ' + messages + ' new messages.');
console.log(`Hi, ${name}! You have ${messages} new messages.`);▸ Gözlənilən nəticə
Hi, Aysel! You have 3 new messages. Hi, Aysel! You have 3 new messages.
${...} içində yalnız dəyişən yox, istənilən ifadə ola bilər: hesablama, metod çağırışı. Şablon sətirləri bir neçə sətirdən də ibarət ola bilər — \n yazmağa ehtiyac qalmır. toFixed(2) metodu ədədi vergüldən sonra iki rəqəmlə göstərir.
const item = 'bread';
const price = 0.8;
const quantity = 5;
console.log(`Total: ${price * quantity} AZN`);
const receipt = `Item: ${item.toUpperCase()}
Quantity: ${quantity}
Sum: ${(price * quantity).toFixed(2)} AZN`;
console.log(receipt);▸ Gözlənilən nəticə
Total: 4 AZN Item: BREAD Quantity: 5 Sum: 4.00 AZN
const name = 'Elvin';
console.log('Hi, ${name}');
console.log(`Hi, ${name}`);▸ Gözlənilən nəticə
Hi, ${name}
Hi, ElvinTəcrübə: istifadəçi adı yaratmaq
Gəl, öyrəndiklərimizi birləşdirək. Tam addan istifadəçi adı düzəldirik: split(' ') adı və soyadı ayırır, toLowerCase() hərfləri kiçildir, şablon sətri isə hissələri nöqtə ilə birləşdirir. Kodu öz adınla sına.
const fullName = 'Murad Aliyev';
const parts = fullName.split(' ');
const login = `${parts[0].toLowerCase()}.${parts[1].toLowerCase()}`;
console.log(parts);
console.log(login);
console.log(`Welcome, ${parts[0]}! Your login is ${login}`);▸ Gözlənilən nəticə
[ 'Murad', 'Aliyev' ] murad.aliyev Welcome, Murad! Your login is murad.aliyev
Formadakı ad səliqəsiz yazılıb: ' Leyla HASANOVA '. Ondan leyla.hasanova12 loginini düzəlt (sonda doğum ilinin son iki rəqəmi gəlir) və çap et. Sonra loginin uzunluğunu Login length: N şəklində çap et.
const rawName = ' Leyla HASANOVA ';
const year = 2012;
// 1) build and print the login leyla.hasanova12
// 2) print Login length: N▸ Gözlənilən nəticə
leyla.hasanova12 Login length: 16
Əsas fikirlər
- Sətir tək, cüt və ya tərs dırnaqlarda yazılır;
\nyeni sətir deməkdir. lengthsimvolların sayını verir; indekslər 0-dan başlayır.trim,includes,slice,replace,splitən çox işlənən metodlardır.- Sətir metodları orijinalı dəyişmir, yeni sətir qaytarır.
- Şablon sətirlərində
${...}ifadənin qiymətini mətnə yerləşdirir və yalnız tərs dırnaqlarda işləyir.
Özünü yoxla
10 sual. Hər düzgün cavab XP qazandırır.
'JavaScript'.length nəyə bərabərdir?