- Многострочные переменные-строки (JavaScript)
- Пример
- Заключение
- Например
- Категории
- Читайте также
- Комментарии
- Вход на сайт
- Социальные сети
- Тип данных String в JS
- Создание строки
- Доступ к символам в строке
- Строки — неизменяемый тип данных
- JavaScript чувствителен к регистру
- Многострочные строки
- Длина строки
- Строка как объект
- Методы строк
- Функция String()
- Экранирование специальных символов
- Многострочные переменные в JavaScript
- Как обстоят дела, например, в РНР?
- Обычное определение строки в РНР
- heredoc -определение в PHP
- Что есть в JavaScript?
- Обычно мы используем конкатенацию строк
- Второй вариант — экранирование переводов строк
- Третий вариант — CDATA
- Можно попробовать и так
- Шаблонные литералы
- RTFM
Многострочные переменные-строки (JavaScript)
Если попытаться объявить переменную-строку с переносом строк, то возникнет ошибка: «unterminated string literal» .
Чтобы правильно объявить многострочную переменную-строку нужно использовать символ обратного слэша «\» (или обратной косой черты, как удобнее).
Пример
В конце каждого переноса строки добавляем символ «\».
// Объявление многострочной переменной-строки var multistring = «Эта\ строка\ \ является\ \ многострочной»;
Заключение
Многострочное объявление строк используют только для удобства, возврата каретки не происходит, для этого нужно перед символом обратного слэша (\) нужно добавлять «\r\n» .
Например
// Объявление многострочной переменной-строки var multistring = «Эта\r\n\ строка\r\n\ \r\n\ является\r\n\ \r\n\ многострочной»;
Категории
Читайте также
- Как узнать длину строки (JavaScript)
- Первую букву в верхний регистр (JavaScript)
- Как узнать длину строки (PHP)
- Повторение строки (PHP)
- str_repeat (JavaScript)
- str_pad (JavaScript)
- Первые N символов строки цифры (PHP)
- JavaScript md5
- Переменная является строкой (JavaScript)
- JavaScript trim
- Как обрезать строку (JavaScript)
- Удалить все пробелы (JavaScript)
Комментарии
Вход на сайт
Введите данные указанные при регистрации:
Социальные сети
Вы можете быстро войти через социальные сети:
Тип данных String в JS
Строки (string) — это примитивный тип данных для работы с текстом.
Создание строки
Чтобы задать строку в JavaScript, текст нужно с двух сторон закавычить. Кавычки можно использовать тремя разными способами.
- Одинарные кавычки: ‘Привет’ .
- Двойные кавычки: «Привет» .
- Обратные апострофы `Привет` .
// примеры строк с разными кавычками const name = 'Андрей'; const name1 = "Даня"; const result = `Нас зовут $ и $`;
Одинарные и двойные кавычки практически одинаковы — можно использовать любой из этих вариантов.
Обратные апострофы обычно используются, когда нужно включить переменные или выражения в строку. Это делается путем обертывания переменных или выражений такой конструкцией $ — как в примере выше.
Одни кавычки можно использовать внутри других — для этого и нужны одинарные и двойные кавычки.
const name = 'Меня зовут "Андрей".';
С одинаковыми кавычками так не получится.
const name = 'Меня зовут 'Андрей'.'; // синтаксическая ошибка
Доступ к символам в строке
Получить определенные символы в строке можно двумя способами.
• С помощью квадратных скобок [] . Представьте, что строка — это массив, где каждый элемент — символ.
const a = 'привет'; console.log(a[1]); // Вывод: "р"
• С помощью метода charAt() . Методу нужно передать индекс нужного символа.
const a = 'привет'; console.log(a.charAt(1)); // Вывод: "р"
Строки — неизменяемый тип данных
Строки неизменяемы. Это значит, что изменить определенный символ строки не получится.
let a = 'привет'; a[0] = 'П'; console.log(a); // Вывод: "привет"
Тем не менее, ничто не мешает просто задать новое значение строке:
let a = 'привет'; a = 'Привет'; console.log(a); // Вывод: "Привет"
JavaScript чувствителен к регистру
Язык JavaScript чувствителен к регистру. Это значит, что заглавные и строчные буквы воспринимаются в JS как разные значения.
const a = 'a'; const b = 'A' console.log(a === b); // Вывод: false
Многострочные строки
Многострочные строки — это переменные типа string на несколько строчек кода.
Чтобы создать многострочную строку, нужно испоьзовать либо оператор + , либо оператор \ .
// использование оператора + const message1 = 'Это длинный текст, ' + 'который растягивается на несколько ' + 'строк в коде.' // использование оператора \ const message1 = 'Это длинный текст, \ который растягивается на несколько \ строк в коде.'
Длина строки
Чтобы узнать длину строки, используйте встроенное свойства length .
const a = 'привет'; console.log(a.length); // 6
Строка как объект
Создать строку можно и как объект — с помощью ключевого слова new .
const a = 'привет'; const b = new String('привет'); console.log(a); // "привет" console.log(b); // "привет" console.log(typeof a); // Вывод: "string" console.log(typeof b); // Вывод: "object"
Примечание. Не рекомендуется использовать строковые объекты — это замедляет работу программы.
Методы строк
В JavaScript существуют различные методы строк, которые облегчают часто используемые действия.
Метод | Описание |
charAt(индекс) | Возвращает символ из строки по указанному индексу. |
concat() | Объединяет текст из двух или более строк и возвращает новую строку. |
replace() | Возвращает новую строку с некоторыми или всеми сопоставлениями с шаблоном, заменёнными на «заменитель» (обычно это строка). |
split() | Разбивает объект string на массив строк, разделяя строку. |
substring(начало, конец) | Возвращает подстроку строки между двумя индексами, или от одного индекса и до конца строки. |
slice(начало, конец) | Извлекает часть строки и возвращает новую строку без изменения оригинальной строки. |
toLowerCase() | Преобразовывает все символы переданной строки в нижний регистр. |
toUpperCase() | Преобразовывает все символы переданной строки в верхний регистр. |
trim() | Удаляет пробелы из строки. |
includes() | Проверяет, содержит ли строка заданную подстроку, и возвращает true или false соответственно. |
search() | Выполняет поиск строки и возвращает индекс совпадения. |
Давайте рассмотрим некоторые методы на примере:
const text1 = 'привет'; const text2 = 'мир'; const text3 = ' JavaScript '; // соединяем две строки const result1 = text1.concat(' ', text2); console.log(result1); // Вывод: "привет мир" // преобразовываем строку к верхнему регистру const result2 = text1.toUpperCase(); console.log(result2); // Вывод: HELLO // убираем пробелы из строки const result3 = text3.trim(); console.log(result3); // Вывод: JavaScript // преобразовываем строку в массив const result4 = text1.split(); console.log(result4); // ["привет"] // «слайсим» строку const result5= text1.slice(1, 3); console.log(result5); // "ри"
Функция String()
Функция String() позволяет преобразовывать некоторые типы данных в строку.
const a = 225; // тип number const b = true; // тип boolean // преобразовываем в строку const result1 = String(a); const result2 = String(b); console.log(result1); // Вывод: "225" console.log(result2); // Вывод: "true"
Экранирование специальных символов
В JS можно использовать символ обратной косой черты \ для включения специальных символов в строку.
const name = 'Меня зовут \'Андрей\'.'; console.log(name); // Вывод: Меня зовут 'Андрей'.
Вот некоторые специальные символы, которые можно использовать в JavaScript:
Код | Вывод |
\» | Отобразить двойную кавычку. |
\\ | Отобразить обратный слэш. |
\n | Перевод каретки на новую строчку. |
\r | Возврат каретки. |
\t | Горизонтальный таб. |
СodeСhick.io — простой и эффективный способ изучения программирования.
2023 © ООО «Алгоритмы и практика»
Многострочные переменные в JavaScript
В многих языках программирования есть heredoc-синтаксис для создания многострочных переменных, содержащих как одинарные кавычки, так и двойные. В JavaScript же явного определения heredoc нет. Как же быть?
Попробуем решить данный вопрос.
Как обстоят дела, например, в РНР?
Обычное определение строки в РНР
$s = 'Кавычки бывают \'одинарными\''; $t = "Кавычки бывают \"двойными\"";
heredoc -определение в PHP
Что есть в JavaScript?
Обычно мы используем конкатенацию строк
var multiline = 'Первая строка'+ 'Вторая строка'+ 'Третья строка';
Второй вариант — экранирование переводов строк
var multiline = 'Первая строка\ Вторая строка\ Третья строка';
У данного метода наблюдаются проблемы с браузером Internet Explorer
Третий вариант — CDATA
У данного метода наблюдаются проблемы с браузером Internet Explorer, Google Chrome
Можно попробовать и так
var multiline = <> Первая строка Вторая строка Третья строка >.toString();
Шаблонные литералы
Спецификация ES6 принесла нам возможность вставки многострочных переменных при помощи шаблонных литералов.
console.log(`string text line 1 string text line 2`);
Как видите, вариантов несколько, какой из них выбрать дело ваше, но кроссбраузерный лишь первый из них (конкатенация строк).