You are on page 1of 5

Практична робота № 7

Тема: Робота з рядковими функціями в JavaScript


Мета: ознайомлення та набуття практичних навичок роботи з з
рядковими функціями в JavaScript, а також навчимося його використовувати
на практиці.
Короткі теоретичні відомості
Тип даних рядок (string) використовується для представлення тексту.
Відповідно, значеннями типу string є текст. Будь-який текст в JavaScript є
рядком.
Лапки
Рядки в JavaScript повинні бути укладені в лапки. В JavaScript існує три
види лапок: подвійні (" "), одинарні (' ') і зворотні (` `):
 "Рядок в подвійних лапках"
 'Рядок в одинарних лапках'
 `Рядок в зворотних кавичках`
Вид лапок на початку і кінці рядка повинен збігатися. Рядки можуть
складатися з нуля і більше символів.
Рядки з подвійними і одинарними лапками нічим не відрізняються між
собою по функціоналу - вони можуть містити лише текст і керуючі
послідовності. А ось рядки з зворотними лапками мають більш широкий
функціонал. Такі рядки можуть містити так звані підстановки, що позначаються
знаком долара і фігурними дужками ${вираз}. Підстановки можуть містити
будь-які довільні вирази:
let str = "world!";
let str2 = `Hello, ${str}`; // Використання змінної в рядку
alert (str2); // Hello, world!
alert (`2 + 3 = ${2 + 3}.`); // 2 + 3 = 5.
Вираз, розташоване в підстановці (${...}) обчислюється, і його результат
стає частиною рядка.
Рядки в зворотних лапках можуть займати більше одного рядка,
зберігаючи всі пробільні символи. Рядки з зворотними лапками називаються
рядками-шаблонами або шаблонними літералами. Рядки, укладені в одні лапки,
можуть містити інші лапки. Для зручності, великі рядкові літерали можна
розбивати на кілька рядків, закінчуючи кожен рядок, крім останньої, символом
«\».
Кодування символів рядка
Незалежно від того, яка кодування встановлена для сторінки, в JavaScript
для рядків завжди використовується кодування UTF-16.
В JavaScript рядок - це незмінна, упорядкована послідовність 16-бітних
значень, кожне з яких представляє символ Unicode. Для представлення
символів Unicode в JavaScript використовується кодування UTF-16. Символи
включають в себе букви, цифри, знаки пунктуації, спеціальні символи і
пробільні символи.
Довжина рядка
Довжина рядка - це кількість 16-бітних значень (а не самих символів), що
містяться в ній. Довжину рядка містить властивість length:
alert ( "Привіт".length); // 6
Символи, кодові пункти яких не вміщаються в 16 біт, обробляються
відповідно до правил кодування UTF-16 як послідовності з двох 16-бітних
значень. Це означає, що рядок, що має довжину, рівну 2 (два 16-бітних
значення), на ділі може представляти єдиний символ:
alert ("a".length); // 1
alert ("𝑒".length); // 2

Нумерація і доступ до символів рядка


Як вже було сказано, рядок являє собою впорядковану послідовність 16-
бітних значень, кожному з яких відповідає певний символ. Нумерація 16-бітних
значень в рядку починається з нуля, т. б. Перші 16-бітове значення знаходиться
під індексом 0, друге - під індексом 1 і т. Д. Індекс - це порядковий номер.
Отримати символ рядка (що складається з одного 16-бітного значення)
можна за допомогою індексу, укладеного в квадратні дужки [індекс]:
let str = "Привіт";
alert (str[0]); // П
alert (str [3]); // В
Щоб за допомогою індексів звернутися до символу, що складається з двох
16-бітних значень, потрібно, використовуючи конкатенацію, написати ці
індекси так, щоб в результаті вийшла послідовність з двох 16-бітних значень:
let str = "𝑒";
alert (str[0] + str[1]); // "𝑒"
В JavaScript рядки незмінні. Це означає, що в уже існуючій рядку не
можна міняти ніякі символи або додавати в неї щось нове. Так як рядки
незмінні, то методи, використовувані для роботи з рядками, повертають нові
рядки, а не змінюють ту рядок, щодо якої вони були викликані:
let str = "Привіт!";
alert(str.toUpperCase()); // "HELLO" - повертається методом значення
alert (str); // "hello" - первісний рядок не змінений
Щоб змінити рядок, можна створити новий рядок і записати її в ту ж саму
змінну замість старої рядки:
let стр = "Рядок";
стр = стр.toUpperCase ();
alert (стр); // "СТРОКА"
Керуючі послідовності
В рядкових літералах можна використовувати керуючі послідовності.
Керуюча послідовність - це послідовність, що складається зі звичайних
символів, яка позначає символ, не представимо всередині рядка іншими
способами. Керуючі послідовності призначені для форматування виводу
текстового вмісту.
У таблиці нижче представлені керуючі послідовності:
Послідовність Значення
\0 Символ NUL - порожній символ ("\u0000").
\t Горизонтальна табуляція ("\u0009").
\n Перехід на новий рядок ("\u000A").
Повернення на одну позицію – то, що відбувається при
\b
натисканні на клавішу backspace ("\u0008").
\r Повернення каретки ("\u000D").
\f Переклад сторінки - очищення сторінки ("\u000C").
\v Вертикальна табуляція ("\u000B").
\" Подвійні лапки ("\u0022").
\' Одинарні лапки ("\u0027").
\\ Зворотній слеш ("\u005C").
Номер символу з набору символів ISO Latin-1, заданий дво
\xNN шестнадцатерічнимі цифрами (N - шістнадцяткова цифра 0
Наприклад, "\ x41" (це код букви "A").
Номер символу з набору символів ISO Latin-1, заданий дво
\uNNNN шестнадцатерічнимі цифрами (N - шістнадцяткова цифра 0
Наприклад, "\ x41" (це код букви "A").
Керуючі послідовності можуть перебувати в будь-якому місці рядка:
alert ( "Грецька літера сигма: \ u03a3."); // Грецька літера сигма: Σ.
alert ( "багаторядковий \ n рядок ") // багаторядкова рядок
alert ( "всередині використовуються \" подвійні \ "лапки"); // всередині
використовуються "подвійні" лапки
Якщо символ \ передує будь-якому символу, відмінного від наведених у
таблиці, то він просто ігнорується інтерпретатором:
alert ( "\k"); // "k"
Символи Unicode, які вказуються за допомогою керуючої послідовності,
можна використовувати не тільки всередині строкових літералів, але і в
ідентифікаторах:
let a\u03a3 = 5;
alert (a\u03a3); // 5
Конкатенація - це об'єднання двох або більше рядків в одну велику.
Об'єднання відбувається за допомогою оператора + (плюс). При конкатенації
кожна наступна рядок додається в кінець попередньої:
var str1 = "Hello";
var str2 = "World!";
document.write (str1 + str2 + "<br>"); // "Hello World!"
document.write (str1 + "World!");

Значення будь-якого типу, яке об'єднується з рядком, буде неявно


(автоматично) перетворено в рядок і далі буде проведена конкатенація.
var str1 = "Hello";
alert (str1 + 1); // "Hello 1"
alert (true + str1); // "trueHello"
alert (str1 + NaN); // "Hello NaN"

Завдання:
Робота з регістром символів
Для вирішення завдань даного блоку вам знадобляться наступні методи:
toUpperCase, toLowerCase.
Дана рядок 'js'. Зробіть з неї рядок 'JS'.
Дана рядок 'JS'. Зробіть з неї рядок 'js'.

Робота з length, substr, substring, slice. Робота з indexOf


Для вирішення завдань даного блоку вам знадобляться наступні методи:
length, substr, substring, slice, indexOf.
Даний рядок 'я вчу javascript!'. Знайдіть кількість символів в цьому
рядку.
Дана рядок 'я вчу javascript!'. Вирежіте з нього слово 'вчу' і слово
'javascript' трьома різними способами (через substr, substring, slice).
Дана рядок 'я вчу javascript!'. Знайдіть позицію підрядка 'вчу'.
Дана змінна str, в якій зберігається будь-якої текст. Реалізуйте обрізання
довгого тексту за наступним принципом: якщо кількість символів цього тексту
більше заданого у змінній n, то в змінну result запишемо перші n символів рядка
str і додамо в кінець три крапки "...". В іншому випадку в змінну result запишемо
вміст змінної str.
Робота з replace
Для вирішення завдань даного блоку вам знадобляться наступні методи:
replace.
Дана рядок 'Я-вчу-javascript!'. Замінитт всі дефіси на '!' за допомогою
глобального пошуку і заміни.
Робота з split
Для вирішення завдань даного блоку вам знадобляться наступні методи:
split.
Дана рядок 'я вчу javascript!'. За допомогою методу split записати кожне
слово цього рядка в окремий елемент масиву.
Дана рядок 'я вчу javascript!'. За допомогою методу split запишіть кожен
символ цього рядка в окремий елемент масиву.
В змінній date лежить дата в форматі '2025-12-31'. Перетворіть цю дату
в формат '31 .12.2025 '.
Робота з join
Для вирішення завдань даного блоку вам знадобляться наступні методи:
join.
Дан масив ['я', 'вчу', 'javascript', '!']. За допомогою методу join
перетворіть масив в рядок 'я + вчу + javascript +!'.

Перетворіть першу букву рядка в верхній регістр.


Перетворіть першу букву кожного слова рядка в верхній регістр.
Перетворіть рядок 'var_test_text' в 'varTestText'. Скрипт, звичайно ж,
повинен працювати з будь-якими аналогічними рядками.

You might also like