Основи JavaScript: Рядка

20

Від автора: В JavaScript рядком вважається будь-який текст, укладений в одинарні або подвійні лапки, включаючи літери, цифри та символи Юнікоду. У статті ми з вами познайомимося з роботою з рядками в JavaScript.

Отже, в JavaScript рядком вважається будь-який текст, укладений в одинарні або подвійні лапки, включаючи літери, цифри та символи Юнікоду:

«Це рядок»
‘Це теж рядок’

Одинарні лапки також можуть бути присутніми, як частина рядка, якщо вся рядок взято в лапки, і навпаки.

‘Так теж «нормально»‘

Те, які лапки ви будете використовувати, не має ніякого значення, але вам варто визначитися з вибором і завжди використовувати тільки один вид лапок. Даний стиль коду повинен дотримуватися і іншими розробниками у вашій команді, разом з іншими домовленостями за правилами написання коду, щоб підтримувати одноманітність коду, уникати непорозумінь і зменшити кількість помилок.

В інших випадках лапки та інші спеціальні символи всередині рядків повинні екрануватися з допомогою зворотного слешу (нижче приклади результату, який виходить при екрануванні):

\’ — одинарна лапка

\» — подвійні лапки

\\ — зворотний слеш

\n — нова рядок

\r — повернення каретки

\t — таб

Наприклад:

«Це текст \t з використанням знаків \t табуляції»

Оскільки рядки можуть містити символи Юнікоду, по можливості слід використовувати справжні «розумні» лапки і апострофи:

var quote = «»Це цитата.»»;

Індексування рядків

Як і у випадку з масивами, вважається, що перший символ рядка знаходиться на нульовій позиції, другий — на першій і т. д. Зверніть увагу на те, що властивість length у рядків враховує кожен символ, включаючи пробіли, але не включаючи екрановані символи:

var nicchia = «Virginia Elisabetta Luisa Carlotta Antonietta Maria Teresa Oldoini»;
nicchia.length
> 66

Існує багато функцій і методів, призначених для роботи з рядками, про які я розповім в наступних статтях.

Числа в якості рядків

Іноді ви будете отримувати число, яке JavaScript чомусь не буде сприймати, як число. Хорошим прикладом цього служить HTML5 поле вводу типу number:

Enter the weight of the package in kilos

Якщо ми спробуємо просто вважати це значення в JavaScript і додати до нього одиницю:

document.getElementById(«weight»);
weight.addEventListener. («input», function(){
console.log(weight.value + 1);
})

… то результат, який ми отримаємо в консолі при введенні одиниці в полі введення, буде не дорівнює «2», а «11». Це викликано проблемою з конкатенацией: метод value опрацьовує отримане з поля вводу значення не число, а рядок. Існує два способи, як це виправити:

Використовувати правильний метод для даного випадку: weight.valueAsNumber, замість weight.value. В результаті ми отримаємо справжнє число.

Залишити метод value, але привести отримане значення до потрібного типу з допомогою parseInt:

weight = document.getElementById(«weight»);
weight.addEventListener. («input», function(){
console.log(parseInt(weight.value, 10) + 1);
})

Я розповім більш докладно про parseInt в одній з наступних статей.

Конвертування чисел рядка

Іноді вам потрібно зробити зворотне: перетворити число в рядок. Якщо у мене є змінна wonders:

var wonders = 7;

… Я можу перетворити її в рядок, використовуючи метод .toString():

var wonderString = wonders.toString();

… або додавши до неї порожній рядок:

var wonderString = wonders + «»;

Можна використовувати обидва способи, хоча другий може виявитися швидше при роботі з циклами (коли мова йде про мільйони операцій).