Skip to content

JavaScript Matnlar (Strings)

Matnlar (Strings) — bu matnli ma'lumotlarni saqlash uchun ishlatiladi. JavaScript-da matnlar har doim qo'shtirnoq ichida yoziladi.

Qo'shtirnoqlardan foydalanish

JavaScript matni qo'shtirnoq ichiga yozilgan nol yoki undan ko'p belgilardan iborat bo'ladi.

Misol

js
let text = "John Doe";

Siz bir tirnoq (') yoki qo'sh tirnoq (") dan foydalanishingiz mumkin:

Misol

js
let carName1 = "Volvo XC60";  // Qo'sh tirnoq
let carName2 = 'Volvo XC60';  // Bir tirnoq

Eslatma

Bir tirnoq va qo'sh tirnoq o'rtasida hech qanday farq yo'q. Ikkalasi ham bir xil ishlaydi.

Qo'shtirnoq ichida qo'shtirnoq ishlatish

Matn ichida qo'shtirnoqlardan foydalanishingiz mumkin, faqat ular matnni o'rab turgan qo'shtirnoqlar bilan bir xil bo'lmasligi kerak:

Misol

js
let answer1 = "Hammasi yaxshi";
let answer2 = "Uning ismi 'Johnny'";
let answer3 = 'Uning ismi "Johnny"';

Shablonli Matnlar (Template Strings)

Shablonlar ES6 (2015) bilan birga kirib kelgan. Ular teskari tirnoq (backticks) ichiga yoziladi (`Bu shablonli matn`).

Shablonlar matn ichida ham bir tirnoq, ham qo'sh tirnoqlarni erkin ishlatishga imkon beradi:

Misol

js
let text = `U ko'pincha "Johnny" deb chaqiriladi`;

Matn Uzunligi (String Length)

Matnning uzunligini (belgilar sonini) aniqlash uchun length xususiyatidan foydalaniladi:

Misol

js
let text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let length = text.length; // result: 26

Maxsus Belgilar (Escape Characters)

Matnlar qo'shtirnoq ichida yozilishi kerakligi sababli, JavaScript quyidagi matnni noto'g'ri tushunadi:

js
let text = "Biz shimoldan kelgan "Vikinglar"miz.";

Matn "Biz shimoldan kelgan " qismida uzilib qoladi.

Ushbu muammoni hal qilish uchun backslash (teskari qiyshiq chiziq) belgisidan foydalanamiz. Backslash (\) maxsus belgilarni matn belgisiga aylantiradi:

KodNatijaTavsif
\''Bir tirnoq
\""Qo'sh tirnoq
\\\Backslash

Misol

js
let text = "Biz shimoldan kelgan \"Vikinglar\"miz.";
let text2 = 'Hammasi yaxshi (It\'s alright).';
let text3 = "Belgi \\ backslash deb ataladi.";

JavaScript-da yana boshqa 6 ta maxsus o'tish ketma-ketliklari mavjud:

KodNatija
\bBackspace (Orqaga o'chirish)
\fForm Feed
\nNew Line (Yangi qator)
\rCarriage Return
\tHorizontal Tabulator (Tabulatsiya)
\vVertical Tabulator

Eslatma

Yuqoridagi 6 ta belgi dastlab yozuv mashinkalari va teletayplarni boshqarish uchun yaratilgan. HTML-da ular odatda hech qanday vizual natija bermaydi.


Uzun Qatorlarni Bo'lish

O'qishga qulay bo'lishi uchun dasturchilar ko'pincha juda uzun kod qatorlaridan qochishadi.

Bayonotni (statement) bo'lishning eng xavfsiz yo'li — operatorlardan keyin yangi qatorga o'tishdir:

Misol

js
document.getElementById("demo").innerHTML =
"Salom Dunyo!";

Matnning o'zini esa qo'shish operatori (+) yordamida bo'lish mumkin:

Misol

js
document.getElementById("demo").innerHTML = "Salom " +
"Dunyo!";

Shuningdek, shablonli matnlar (backticks) ko'p qatorli matnlarni to'g'ridan-to'g'ri yozishga imkon beradi:

Misol

js
let text =
`Tezkor
jigarrang tulki
dangasa itning
ustidan sakrab o'tdi`;

JavaScript Matnlari Obyekt Sifatida

Odatda JavaScript matnlari primitiv qiymatlar hisoblanadi: let x = "John";

Lekin ularni new kalit so'zi yordamida obyekt sifatida ham e'lon qilish mumkin: let y = new String("John");

Diqqat

Matnlarni obyekt sifatida yaratmang. new kalit so'zi kodni murakkablashtiradi va ishlash tezligini pasaytiradi. Shuningdek, kutilmagan natijalarga olib kelishi mumkin:

js
let x = "John";
let y = new String("John");

(x == y)  // true - chunki qiymatlari bir xil
(x === y) // false - chunki turlari har xil (string vs object)

Obyektlarni bir-biri bilan solishtirish (== yoki ===) har doim false qaytaradi.