ES6 - Yeni Dizge Yöntemleri

Aşağıda, açıklamalarıyla birlikte bir yöntem listesi verilmiştir.

Sr.No Yöntem ve Açıklama
1 String.prototype.startsWith (searchString, position = 0)

Alıcı searchString ile başlıyorsa doğru döndürür; konum, kontrol edilecek dizenin nerede başlayacağını belirlemenizi sağlar.

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

Alıcı searchString ile başlıyorsa doğru döndürür; konum, kontrol edilecek dizenin nerede başlayacağını belirlemenizi sağlar.

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

Alıcı searchString içeriyorsa true döner; position, aranacak dizenin nerede başladığını belirlemenizi sağlar.

4 String.prototype.repeat (sayım)

Alıcıyı, birleştirilmiş sayım sürelerini döndürür.

Şablon Değişmezleri

Template literals gömülü ifadelere izin veren dize değişmezleridir. Templatestringstek veya çift tırnak yerine geri işaret (``) kullanın. Bir şablon dizesi böylece şu şekilde yazılabilir:

var greeting = `Hello World!`;

Dize Enterpolasyonu ve Şablon değişmez değerleri

Şablon dizeleri, gösterildiği gibi $ {} sözdizimini kullanarak dize ikamesi için yer tutucular kullanabilir.

Example 1

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

Yukarıdaki kod başarılı bir şekilde yürütüldüğünde aşağıdaki çıktı görüntülenir.

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} `);

Yukarıdaki kod başarılı bir şekilde yürütüldüğünde aşağıdaki çıktı görüntülenir.

The sum of 10 and 10 is 20

Example 3: Template literals and function expression

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

Yukarıdaki kod başarılı bir şekilde yürütüldüğünde aşağıdaki çıktı görüntülenir.

Message: Hello World !!

Çok Satırlı Dizeler ve Şablon Değişmezleri

Şablon dizeleri birden çok satır içerebilir.

Example

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

Yukarıdaki kod başarılı bir şekilde yürütüldüğünde aşağıdaki çıktı görüntülenir.

This is 
a string 
with multiple 
line

String.raw ()

ES6, ters eğik çizgilerin özel bir anlamı olmadığı ham dizeler için String.raw etiket işlevini içerir. String.rawters eğik çizgiyi normal ifadede olduğu gibi yazmamızı sağlar. Aşağıdaki örneği düşünün.

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

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

Yukarıdaki kod başarılı bir şekilde yürütüldüğünde aşağıdaki çıktı görüntülenir.

Hello 
World 
Hello \n World

Etiketli Şablonlar

Bir tagbir şablon değişmezini yorumlayabilen ve işleyebilen bir işlevdir. Şablon değişmezinin önünde bir etiketi görünür. Sözdizimi aşağıda gösterilmiştir.

Sözdizimi

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

Etiket işlevi uygulama sözdizimi aşağıda verildiği gibidir -

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

Misal

Aşağıdaki Örnek bir etiket işlevi tanımlar myTagFn(). Kendisine aktarılan parametreleri gösterir. Görüntüledikten sonra geri dönerDone arayana.

<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>

Yukarıdaki kodun çıktısı aşağıda belirtildiği gibi olacaktır -

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

Misal

Aşağıdaki tag function bir tane al template literal ve aşağıda gösterildiği gibi büyük harfe dönüştürür -

<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>

Yukarıdaki kodun çıktısı aşağıda belirtildiği gibi olacaktır -

HELLO THIS IS TUTORIALSPOINT FROM MUMBAI

String.fromCodePoint ()

Statik String.fromCodePoint()yöntem, belirtilen unicode kod noktaları dizisi kullanılarak oluşturulan bir dize döndürür. Geçersiz bir kod noktası geçilirse işlev bir RangeError atar.

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

Yukarıdaki kod başarılı bir şekilde yürütüldüğünde aşağıdaki çıktı görüntülenir.

* 
AZ