Məzmuna keç
Educora
Başlanğıc13 dəq4 / 27

Sətirlər və şablon sətirləri

Mətnlərlə işləməyi öyrən: simvollara müraciət, faydalı metodlar və dəyişənləri mətnə rahatca yerləşdirən şablon sətirləri.

Özünü yoxla
Bu dərsdə öyrənəcəksən
  • Sətrin uzunluğunu tapmaq və indeksə görə simvola müraciət etmək
  • trim, includes, slice, split kimi 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.

JavaScript
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.

JavaScript
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.

MetodNə edirNü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']
JavaScript
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
Metodları zəncir kimi ardıcıl çağırmaq olar: əvvəlcə trim(), sonra toLowerCase().
JavaScript
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.

JavaScript
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.
Nəticə eynidir, amma ikinci sətri oxumaq və yazmaq xeyli asandır.

${...} 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.

JavaScript
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
JavaScript
const name = 'Elvin';

console.log('Hi, ${name}');
console.log(`Hi, ${name}`);
▸ Gözlənilən nəticə
Hi, ${name}
Hi, Elvin

Tə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.

JavaScript
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
Tapşırıq

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.

Tapşırıq · JavaScript
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; \n yeni sətir deməkdir.
  • length simvolları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.

1 / 10
'JavaScript'.length nəyə bərabərdir?