JS ES12–3 Güzel Yenilik

Tolga Karabulut
2 min readNov 23, 2020
3 yeni özellik javascript daha anlamlı ve daha hızlı !

Babel sayesinde ECMAScript 2021 özelliklerini bir süredir kullanıyoruz. Tabii ki yeni gelişmeler JS dünyasını güçlendirmeye devam ediyor. Burada ES12 nin tüm özelliklerinin yerine sadece hem daha okunaklı bir kod geliştirmek için hemde zaman kazandıracağını düşündüğüm 3 özellikten bahsedeceğim.

Hadi inceleyelim !

Mantıksal Atama Operatörü ( Logical Assignment Operator)

Mantıksal atama operatörü, mantıksal işlemleri (??, && veya || gibi) bir atama (örneğin =) ile birleştirir.

x || = y koşulunda eğer x doğruysa x yanlışsa y döndürür.

## En Eski Yöntem ##if(!x){    x = y}## Daha Güncel Yöntem ##x = x || y## ES12 ##x ||= y

x && = y koşulunda x doğruysa y, x yanlışsa x döndürür.

## En Eski Yöntem ##if(x){    x = y}## Daha Güncel Yöntem ##x = x && y## ES12 ##x && = y

x ?? = y koşulunda x null veya tanımsız ise y , x doğru ise x döndürür.

## En Eski Yöntem ##if(x){    x = y}## Daha Güncel Yöntem ##x = x ??  y## ES12 ##x ??= y

Başlangıçta alışmak biraz zor gibi görünebilir fakat çok işlevsel oldukları kesin.

2. Promise.any

İşlemlerden ilk olarak çözülen işleme alınır. Eğer tamamı reddedilirse catch çalışır. Red durumunda e.errors hataları Array olarak döndürür.

const error = new Promise((resolve, reject) => {
reject("Err");
});
const slow = new Promise((resolve, reject) => {
setTimeout(resolve, 500, "Slow fetch");
});
const fast = new Promise((resolve, reject) => {
setTimeout(resolve, 100, "Fast fetch");
});
Promise.any([error, slow, fast ])
.then(value => { console.log(value) })
.catch( err => { console.log(err.errors) });
  • Mantıksal olarak Promise.all() tersi şeklinde çalışır.

3. Numeric Separators ( _ )

Binlerle ifade edilen sayıları ayırmak için kullanıyoruz. Daha okunabilir ve bilgilendirici hale gelmiş oluyor. Örneğin;

## Eski Yazım ## const amount = 4750000;
const amount2= 456123451;
## Yeni Yazım ## const amount = 4_750_000;
const amount2= 456_123_451;

Gördüğünüz gibi çok daha okunabilir bir hale gelmiş oldu. Diğer özelliklere ve detaylara Kaynaklardan ulaşabilirsiniz. Teşekkür ederim.

Herkese İyi Kodlamalar!

Tolga Karabulut
tolga.karabulut@medianova.com
Medianova CDN | Senior PHP Developer

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Tolga Karabulut
Tolga Karabulut

Written by Tolga Karabulut

Software Development Specialist | @teknasyon Developer Team

No responses yet

Write a response