Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

Сводка

Статический метод String.raw() является теговой функцией для шаблонных строк; подобно префиксу r в Python или префиксу @ в C# для строковых литералов, эта функция используется для получения необработанной строки из шаблона.

Синтаксис


String.raw(callSite, ...substitutions)

String.raw`templateString`

Параметры

callSite
Правильно сформированный объект вызова, например { raw: 'string' }.
...substitutions
Значения подстановок.
templateString
Шаблонная строка, возможно с подстановками (${...}).

Выбрасываемые исключения

TypeError
Если первый аргумент не является правильно сформированным объектом вызова, выбрасывается исключение TypeError.

Описание

В большинстве случаев метод String.raw() используется вместе с шаблонными строками. Первый синтаксис, показанный выше, используется редко, поскольку движок JavaScript будет вызывать метод с соответствующими аргументами, подобно другим теговым функциям.

Метод String.raw() является единственной встроенной теговой функцией шаблонных строк, выступающей стандартной функцией по объединению их фрагментов. Вы и сами могли бы реализовать подобную функциональность на JavaScript.

Примеры

Пример: использование метода String.raw()

String.raw`Привет\n${2+3}!`;
// 'Привет\n5!', символ после 'Привет' не является символом новой строки,
// '\' и 'n' - это два символа.

String.raw`Привет\u000A!`;
// 'Привет\u000A!', а здесь мы получим символы
//  \, u, 0, 0, 0, A, всего 6 символов.
// Экранирующие символы не имеют особого значения и
// обратные слеши будут присутствовать в выходной строке.
// Вы можете убедиться в этом, проверив свойство .length строки.

let name = 'Боб';
String.raw`Привет\n${name}!`;
// 'Привет\nБоб!', сработала подстановка.

// Обычно вам не нужно вызывать метод String.raw() как функцию,
// но никто не запрещает вам делать это:
String.raw({ raw: 'тест' }, 0, 1, 2);
// 'т0е1с2т'

Спецификации

Спецификация Статус Комментарии
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'String.raw' в этой спецификации.
Стандарт Изначальное определение.

Совместимость с браузерами

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка Нет 34 (34) Нет Нет Нет
Возможность Android Chrome для Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка Нет Нет 34.0 (34) Нет Нет Нет

Смотрите также

Метки документа и участники

Внесли вклад в эту страницу: SphinxKnight, oleg_s, Mingun, dtretyakov
Обновлялась последний раз: SphinxKnight,