Javascript ES6 Gelen Bazı Özellikler
Merhabalar bu yazımızda es6 ile gelen kendimce yararlı bulduğum temel bazı özelliklerden sizlere bahsetmeye çalışacağım.
Extended Parameter Handling(Genişletilmiş Parametre Kullanımı)
- Default Parameter Values (Varsayılan Parametre Değerleri)
Bir fonksiyonun paremetrelerinin varsayılan değerlerinin belirlenmesi.
es5 örneği
function topla(x, y, z)
{
if (y === undefined)
y = 10;
if (z === undefined)
z = 20;
return x + y + z;
};
topla(5) === 35;
es6 örneği
function topla(x, y=10, z=20)
{
return x + y + z;
};
topla(5) === 35;
2. Spread Operator(…)
İki arrayı , objeyi vb. birleştirmek için …variable diyerek örneğin kopyasının alınması
es5 örneği
var params = [ "merhaba", true, 7,0.5 ];
var other = [ 1, 2 ].concat(params); // 1,2,"merhaba",true,7,0.5
es6 örneği
var params = [ "merhaba", true, 7,0.5 ];
var other = [ 1, 2,...params ] //1,2,"merhaba",true,7,0.5
Template Literals(Şablon Değişmezleri)
- String Interpolation
String içinde javascript yazılması.
es5 örneği
var customer = { name: "Foo",email:"johndoe@mail.com" };
var message = "Merhaba " + customer.name + ",email adresiniz" + " "+customer.email + " " + "olarak belirlenmiştir"
es6 örneği
var customer = { name: "Foo",email:"johndoe@mail.com" };
var message = `Merhaba ${customer.name}, email adresiniz ${customer.email} olarak belirlenmiştir`
Internationalization & Localization(Uluslararasılaştırma ve Yerelleştirme)
- Currency Formatting(Para Birimi Biçimlendirme)
Para birimlerinin yerelleştirilmiş gösterimi.
es5 örneği bulunmamaktadır.
es6 örneği
var euro = new Intl.NumberFormat("de-DE", { style: "currency", currency: "EUR" })var dolar = new Intl.NumberFormat("en-US", { style: "currency", currency: "USD" })var ytl=new Intl.NumberFormat("tr-TR", { style: "currency", currency: "YTL" })euro.format(100200300.40) //100.200.300,40 €
dolar.format(100200300.40) //$100,200,300.40
ytl.format(100200300.40) //YTL 100.200.300,40
2.Date/Time Formatting(Tarih / Saat Biçimlendirme)
Tarih ve saat yerelleştirilmiş gösterimi.
es5 örneği bulunmamaktadır.
es6 örneği
new Intl.DateTimeFormat('tr-TR').format(new Date()); //27.02.2020var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
new Intl.DateTimeFormat('tr-TR', options).format(new Date())
//27 Ekim 2020 Salı
New Built-In Methods(Yeni Yerleşik Yöntemler)
- Object Property Assignment(Objeye Özellik Atama)
Kaynak bir objeye birden fazla özellik atama.
es5 örneği
var dest = { quux: 0 };
var src1 = { foo: 1, bar: 2 };
var src2 = { foo: 3, baz: 4 };
Object.keys(src1).forEach(function(k) { dest[k] = src1[k]; }); Object.keys(src2).forEach(function(k) { dest[k] = src2[k]; });dest // {quux: 0, foo: 3, bar: 2, baz: 4}
es6 örneği
var dest = { quux: 0 };
var src1 = { foo: 1, bar: 2 };
var src2 = { foo: 3, baz: 4 };
Object.assign(dest, src1, src2)dest // {quux: 0, foo: 3, bar: 2, baz: 4}
2.String Repeating(Dize Yenileme)
Bir metinsel ifadeyi tekrar ettirme.
es5 örneği
Array((4)+1).join("merhaba dünya ");
//merhaba dünya merhaba dünya merhaba dünya merhaba dünya
es6 örneği
"merhaba dünya ".repeat(4)
//merhaba dünya merhaba dünya merhaba dünya merhaba dünya
3.Number Safety Checking(Numara Güvenlik Kontrolü)
Bir tam sayının integer ve integer aralığında olup olmadığını bildirir.
es5 örneği
function isSafeInteger (n)
{
return (typeof n === 'number'&& Math.round(n) === n
&& -(Math.pow(2, 53) - 1) <= n && n <= (Math.pow(2, 53) - 1) );
}
isSafeInteger(42) === true;
isSafeInteger(9007199254740992) === false;
es6 örneği
Number.isSafeInteger(42) === true Number.isSafeInteger(9007199254740992) === false
Yararlandığım kaynak: http://es6-features.org/
Herkese İyi Çalışmalar Dilerim. :)