Як я вже говорив раніше, рядок — це послідовність символів, обмежена одинарними лапками (‘’), подвійними лапками (“ ”) та зворотними лапками ().
Рядки в JavaScript можна створювати трьома основними способами: використовуючи літерали рядків, як об'єкти або за допомогою конструктора String().
Подвійні лапки ("
) та одинарні лапки ('
) є взаємозамінними.
Зворотні лапки (``) використовуються для шаблонних рядків, що дозволяють інтерполяцію рядків через
${expression}` (метод безпосереднього вставлення змінних у рядок).
let strLiteral = "Hello, World!"; // Подвійні лапки
let strLiteral2 = 'Hello, World!'; // Одиночні лапки
let strLiteral3 = `Hello, World!`; // Зворотні лапки (шаблонні рядки)
Шаблонні рядки дозволяють вставляти змінні, вирази або багаторядкові рядки.
let name = 'Alice'
let age = 5
let temp = `Hello ${name} my name is ${age}`
temp
// Виведе 'Hello Alice my name is 5'
Рядки можна створювати як об'єкти, використовуючи конструктор new String()
. Це створює об'єкт String, а не примітивний рядок.
Оператор new
дозволяє розробникам створювати екземпляр визначеного користувачем типу об'єкта.
let strObject = new String("Hello, World!");
console.log(typeof strObject); // "object"
Функцію String()
також можна використовувати для явного перетворення значень (чисел, об'єктів, булевих значень тощо) у примітиви рядків.
let strFromConstructor = String("Hello, World!");
console.log(typeof strFromConstructor); // "string"
Це не створює об'єкт String
, а лише примітивний рядок.
Є два способи доступу до символу в рядку:
- charAt(index)
- Нотація через дужки
let str = "JavaScript";
console.log(str[0]); // Вивід: J
console.log(str.charAt(1)); // Вивід: a
Щоб отримати довжину рядка, ми використовуємо властивість .length
, щоб дізнатися кількість символів у рядку.
let text = "Hello, World!";
console.log(text.length); // Вивід: 13
А потім для конкатенації двох рядків ми використовуємо оператор +
.
let firstName = "John";
let lastName = "Doe";
console.log(firstName + " " + lastName); // Вивід: John Doe
Методи рядків
Рядки в JavaScript мають багато вбудованих методів:
Зміна регістру:
let str = "Hello";
console.log(str.toUpperCase()); // Вивід: HELLO
console.log(str.toLowerCase()); // Вивід: hello
Пошук рядків:
.indexOf()
: Знаходить індекс першого входження підрядка..includes()
: Перевіряє, чи містить рядок підрядок.
let sentence = "JavaScript is fun!";
console.log(sentence.indexOf("fun")); // Вивід: 15
console.log(sentence.includes("Java")); // Вивід: true
Витягування частин рядків:
.slice()
: Витягує частину рядка..substring()
: Подібно доslice()
, але не підтримує від'ємні індекси.
let str = "JavaScript";
console.log(str.slice(0, 4)); // Вивід: Java
console.log(str.substring(4, 10)); // Вивід: Script
Замінювання тексту:
.replace()
: Замінює підрядок іншим..replaceAll()
: Замінює всі входження підрядка (ES2021+).
let text = "I love coding. Coding is fun!";
console.log(text.replace("Coding", "Programming")); // Замінює перше входження
console.log(text.replaceAll("Coding", "Programming")); // Замінює всі
Розбиття рядка:
let str = "apple,banana,grape";
console.log(str.split(",")); // Вивід: ['apple', 'banana', 'grape']
Обрізання:
let str = " Hello! ";
console.log(str.trim()); // Вивід: "Hello!"
Щасливого кодування!
Перекладено з: Strings in Javascript