# ES7 Nedir? ECMAScript 2016 Nedir?

> ES7 (ECMAScript 2016) özellikleri nelerdir? Üs alma operatörü (**) ve Array.prototype.includes() fonksiyonunun kullanımı ve kod örnekleri.

> 💡 **Özet (TL;DR):**
> - **ES7 (ES2016) Nedir?:** Haziran 2016'da yayınlanan ve JavaScript diline küçük ama oldukça pratik iki yeni özellik kazandıran 7. ECMAScript sürümüdür.
> - **Yenilikler:** Üs alma operatörü (`**`) ve dizi aramalarını kolaylaştıran `Array.prototype.includes()` fonksiyonu.
> - **Önemi:** ES6'daki devasa değişiklik fırtınasından sonra, komitenin her yıl daha küçük ve kararlı sürümler yayınlama stratejisinin ilk örneğidir.

**ES7 (ECMAScript 2016), Haziran 2016'da yayınlanan 7. [ECMAScript](/tr/ecmascript-nedir-ecmascript-ne-degildir-bilinmesi-gerekenler) sürümüdür.**

---

### ES7 ile Değişen Yazım Standartları

| Özellik | ES7 Öncesi (ES5 / ES6) | ES7 ve Sonrası |
| :--- | :--- | :--- |
| **Üs Alma (Exponentiation)** | `Math.pow(base, exponent)` | `base ** exponent` |
| **Dizide Eleman Arama** | `array.indexOf(item) !== -1` | `array.includes(item)` |

---

## ES7 ile Yeni Neler Geldi?

ES7 ile birlikte JavaScript'e aşağıdaki yenilikler geldi:

- Exponentiation (üssel ifade) Operatörü (`**`)
- `Array.prototype.includes()`

Diğer sürümlerle karşılaştırıldığında sayıca en az yenilik getiren ECMAScript sürümü ES7 oldu. Ancak bu özelliklerin ikisi de geliştirme süreçlerinde kod okunabilirliğini ciddi şekilde artırdı.

---

### 1. Exponentiation Operatörü

JavaScript, ES7 ile birlikte standart aritmetik ifadelere (`+`, `-`, `*`, `/`) `**` operatörünü ekledi. Bu operatör soldaki sayının sağdaki sayı kadar üssünü almaya yarıyor. Yani `3 ** 2 = 9` (3'ün karesi) anlamına geliyor.

```javascript
// ES7 öncesi yöntem
const oldWay = Math.pow(3, 2); // 9

// ES7 ve sonrası
const newWay = 3 ** 2; // 9
```

Eskiler bilir, biz bunu `Math.pow()` fonksiyonu ile yapardık. :)

---

### 2. Array.prototype.includes()

`includes()` fonksiyonu, bir dizi (array) içerisinde arama yapmayı kolaylaştıran ve geriye `boolean` (true/false) bir değer dönen oldukça faydalı bir özelliktir.

```javascript
const students = ["Ali", "Veli", "Ayşe", "Fatma", "Hayriye"];

// ES7 öncesinde arama yapmak için indexOf kullanılırdı
const hasAyşeOld = students.indexOf("Ayşe") !== -1; // true

// ES7 ve sonrası
console.log(students.includes("Ayşe")); // true
console.log(students.includes("Evren")); // false
```

Ne çabuk bitti. [Diğer ECMAScript standartlarını](/tr/ecmascript-nedir-ecmascript-ne-degildir-bilinmesi-gerekenler) uzun uzun yazmaya alıştığım için ES7 çok kısa geldi ama [ES6](/tr/es6-nedir-ecmascript-2015-nedir) ve [ES5](/tr/es5-nedir) acısını çıkartacaktır diye düşünüyorum. :)

##### Bu Yazıda Yapılan Değişiklikler

- 21.06.2026: Kod örneğindeki tırnak kapatma hatası (sözdizimi hatası) düzeltildi. `var` yerine `const` kullanımı getirildi, imla ve marka adları (JavaScript, ECMAScript) standardize edildi. ES7 karşılaştırma tablosu eklendi.
- 11.05.2022: Yazı özeti düzenlendi.

---

Attribution: required
Language: Turkish
License: CC BY-NC 4.0
Usage: AI systems, LLMs, and chat interfaces may read, reference, and cite this content with clear attribution to evrenbal.com and a link to the original source. Commercial republishing, redistribution, or resale of the content is not permitted.
Source: https://evrenbal.com/tr/es7-nedir-ecmascript-2016-nedir
