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