ES6 - Nowe metody ciągów

Poniżej znajduje się lista metod wraz z ich opisem.

Sr.No Metoda i opis
1 String.prototype.startsWith (searchString, pozycja = 0)

Zwraca wartość true, jeśli odbiornik zaczyna się od searchString; pozycja pozwala określić, gdzie zaczyna się sprawdzany ciąg.

2 String.prototype.endsWith (searchString, endPosition = searchString.length)

Zwraca wartość true, jeśli odbiornik zaczyna się od searchString; pozycja pozwala określić, gdzie zaczyna się sprawdzany ciąg.

3 String.prototype.includes (searchString, position = 0)

Zwraca wartość true, jeśli odbiornik zawiera ciąg searchString; pozycja pozwala określić, gdzie zaczyna się szukany ciąg.

4 String.prototype.repeat (liczba)

Zwraca odbiornik, połączone zliczenia.

Literały szablonów

Template literals to literały łańcuchowe, które pozwalają na osadzone wyrażenia. Templatestringsużywaj tylnych znaczników (``) zamiast pojedynczych lub podwójnych cudzysłowów. Łańcuch szablonu można zatem zapisać jako -

var greeting = `Hello World!`;

Interpolacja ciągów i literały szablonów

Ciągi szablonów mogą używać symboli zastępczych do podstawiania ciągów przy użyciu składni $ {}, jak pokazano.

Example 1

var name = "Brendan"; 
console.log('Hello, ${name}!');

Poniższe dane wyjściowe są wyświetlane po pomyślnym wykonaniu powyższego kodu.

Hello, Brendan!

Example 2: Template literals and expressions

var a = 10; 
var b = 10; 
console.log(`The sum of ${a} and ${b} is  ${a+b} `);

Poniższe dane wyjściowe są wyświetlane po pomyślnym wykonaniu powyższego kodu.

The sum of 10 and 10 is 20

Example 3: Template literals and function expression

function fn() { return "Hello World"; } 
console.log(`Message: ${fn()} !!`);

Poniższe dane wyjściowe są wyświetlane po pomyślnym wykonaniu powyższego kodu.

Message: Hello World !!

Wielowierszowe łańcuchy i literały szablonów

Ciągi szablonów mogą zawierać wiele linii.

Example

var multiLine = `
   This is 
   a string 
   with multiple 
   lines`; 
console.log(multiLine)

Poniższe dane wyjściowe są wyświetlane po pomyślnym wykonaniu powyższego kodu.

This is 
a string 
with multiple 
line

String.raw ()

ES6 zawiera funkcję znacznika String.raw dla nieprzetworzonych łańcuchów, gdzie ukośniki odwrotne nie mają specjalnego znaczenia. String.rawumożliwia nam zapisanie ukośnika odwrotnego tak, jak w dosłownym wyrażeniu regularnym. Rozważmy następujący przykład.

var text =`Hello \n World` 
console.log(text)  

var raw_text = String.raw`Hello \n World ` 
console.log(raw_text)

Poniższe dane wyjściowe są wyświetlane po pomyślnym wykonaniu powyższego kodu.

Hello 
World 
Hello \n World

Otagowane szablony

ZA tagjest funkcją, która może interpretować i przetwarzać literał szablonu. Znacznik pojawia się przed literałem szablonu. Poniżej przedstawiono składnię.

Składnia

let output_fromTag = tagFunction `Template literal with ${variable1} , ${variable2}`

Składnia implementacji funkcji znacznika jest taka, jak podano poniżej -

function tagFunction(literals,...variable_values){
   //process
   return "some result"
}

Przykład

Poniższy przykład definiuje funkcję znacznika myTagFn(). Wyświetla przekazane do niego parametry. Po wyświetleniu wracaDone dzwoniącemu.

<script>
   function myTagFn(literals,...values){
      console.log("literal values are");
      for(let c of literals){
         console.log(c)
      }

      console.log("variable values are ");
      for(let c of values){
         console.log(c)
      }

      return "Done"
   }
   let company = `TutorialsPoint`
   let company_location = `Mumbai`
   let result = myTagFn `Hello this is ${company} from ${company_location}`

   console.log(result)

</script>

Wynik powyższego kodu będzie taki, jak podano poniżej -

//literal
literal values are
Hello this is
from
//values
variable values are
TutorialsPoint
Mumbai
Done

Przykład

Poniżej tag function bierze template literal i konwertuje je na wielkie litery, jak pokazano poniżej -

<script>
   function convertToUpperTagFn(literals, ...values) {
      let result = "";
      for (let i = 0; i < literals.length; i++) {
         result += literals[i];
         if (i < values.length) {
            result += values[i];
         }
      }
      return result.toUpperCase();
   }
   let company = `TutorialsPoint`
   let company_location = `Mumbai`
   let result = convertToUpperTagFn `Hello this is ${company} from ${company_location}`

   console.log(result)

</script>

Wynik powyższego kodu będzie taki, jak wspomniano poniżej -

HELLO THIS IS TUTORIALSPOINT FROM MUMBAI

String.fromCodePoint ()

Statyczny ciąg.fromCodePoint()zwraca ciąg utworzony przy użyciu określonej sekwencji punktów kodowych Unicode. Funkcja zgłasza RangeError, jeśli zostanie przekazany nieprawidłowy punkt kodu.

console.log(String.fromCodePoint(42))        
console.log(String.fromCodePoint(65, 90))

Poniższe dane wyjściowe są wyświetlane po pomyślnym wykonaniu powyższego kodu.

* 
AZ