В ES6 строковые литералы разрешены для встроенных выражений. он добавляет параметры многострочных строк и интерполяции строк для программистов на JavaScript.

Литералы шаблона должны быть заключены в символ обратной галочки (``) вместо двойных или одинарных кавычек.

Двигатель: -

Интерполяция строк: -

  • Процесс подстановки переменных, вычисление выражений.
function postGreeting(fullname,address){
     let currentDate = new Date();
     let currentHour = currentDate.getHours();
     let message = currentDate<12?”Good Morning”:currentDate<17?”Good Afternoon”:”Good Evening”;
     console.log(‘${message}! ${fullname}, ${address}. Welcome to Template Literals.’);
     
// output:- ${message}! ${fullname}, ${address}. Welcome to Template
        // Literals.
     console.log(“${message}! ${fullname}, ${address}. Welcome to Template Literals.”);
     
// output:- ${message}! ${fullname}, ${address}. Welcome to Template
        // Literals.
     console.log(`${message}! ${fullname}, ${address}. Welcome to Template Literals.`);
     
// output:- Good Evening! James Bond, Bangalore. Welcome to Template
        // Literals.
    }
    postGreeting(“James Bond”,”Bangalore”);

В приведенном выше примере строковые литералы с двойными и одинарными кавычками не заменяют имена переменных JavaScript их значением, только обратный тик заменяет имена переменных на их значение.

Выражения: -

  • Литералы шаблона также будут оценивать выражения.
console.log(`Hello,${new Date().getHours()<12?"Good Morning":new Date().getHours()<17?"Good Afternoon":"Good Evening"}.`);
    
// output:- Hello,Good Evening.

Тегированные литералы шаблона: -

  • Передача литерала шаблона в функцию.
  • Он анализирует строковый литерал и значения.
  • Первым аргументом всегда будет массив строк из переданного литерала шаблона.
  • После первых аргументов все остальные относятся к значению выражений. это может быть оператор распространения (…), который будет массивом значений выражений.
function postGreeting(template,arg){
        console.log(template);
            
// output:- (2) ["Hello, ", ".", raw: Array(2)]
        console.log(arg);
           
 // output:- 20
        return `${template[0]}${arg<12?"Good Morning":arg<17?"Good Afternoon":"Good Evening"}${template[1]}`;
    }
    console.log(postGreeting`Hello, ${new Date().getHours()}.`);
    
// output:- Hello, Good Evening.

Необработанная строка: -

  • Он добавляется для получения строк без обработки управляющих последовательностей.
String.raw`Addtion of 1 plus 2 is \n ${1+2}`;
   
output:- "Addtion of 1 plus 2 is \n 3"
`Addtion of 1 plus 2 is \n ${1+2}`;
   
output:- "Addtion of 1 plus 2 is 
             3"

Шаблонные литералы упрощают процесс строковых манипуляций, таких как подстановка, замена, конкатенация.

Ссылки: -