ECMAScript 6 ile String ve Değişken Gömme Özelliği

Javascript ile stringlerin yönetimi konusunda bazen sıkıntılar çıktığını 3 yılık JS yazan birisi olarak söyleyebilirim. Bazı durumlarda ' ve " ile sıkıntılı durumlarda kalabiliyorsunuz, sayfadaki break karakterleri ile de sıkıntılı çalışan stringler ES6 ile revize edilip gerçekten kolay bir hale getirilmiş.

Anlatmaya çalıştığım şeyi şöyle göstereyim.

var degisken = "değişkenin ilk satırı
                ikinci satır
                üçüncü satır";

Örneğin üstteki kod çalışmayacaktır. "satırı" kelimesi sonrasında bırakılan newline JS'in string yapısına ters düşüyor. Bunun yerine ES5 ile bu durumu şöyle sağlıyorsunuz;

var degisken = "değişkenin ilk satırı" +
                "ikinci satır"+ 
                "üçüncü satır";

Yani 3 farklı stringi birleştirerek istediğiniz stringi elde ediyorsunuz. Fakat burada verimlilik açısından sorun oluşabilir, eğer bu işlemi bir loop içinde yapıyorsanız veya bu işlem birden fazla kez gerçekleşiyorsa performans sorunları bazen baş gösterebiliyor, çünkü Javascript'in burada yaptığı şey bir karakter arrayini diğer bir array ile birleştirmek.

ES6 ile gelen yeni özellikte bu durum çok daha rahat ve kolay hale geldi. Artık verimsiz parçalı stringler yerine tek seferde parse edilebilecek bir "tırnağımız" var.

var degisken = `değişkenin ilk satırı
                ikinci satır
                üçüncü satır`;

Benim "yamulmuş tırnak" dediğim karakter ile stringi bir carrier içine alabiliyorsunuz.

Peki değişkenleri string içine nasıl gömeceğiz?

ES5 ile string içine bir değişken gömebilmek için parçalı string oluşturmamız gerekiyordu, ES6 ile bu durumdan iyice sıyrılmak için farklı bir notasyon bulunuyor.

ES5 ile;

var d1 = "aç";
var d2 = "Sabahları çok" + d1 + "oluyorum.";
console.log(d2);

Bu kod konsola "Sabahları çok aç oluyorum." yazdıracak. Peki ES6 string özellikleri ile bu kodu nasıl yazıyoruz?

ES6 ile;

var d1 = `aç`;
var d2 = `Sabahları çok ${d1} oluyorum.`;
console.log(d2);

Aynı şeyi konsola basacaktır.

Ben şahsen bu özelliği çok beğendim, hem Javascript'in parçalı stringi birleştirmesi için gereksiz zaman harcanmayacak, hem de stringler daha flex bir yapıya kavuşacak.

ES6 hakkında diğer yazıları şuradan listeleyin.

Yorumları Göster veya Yeni Yorum Yaz