Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

javascript/javascript_in_the_real_world/what_is_es6.md - Turkish Translation #843

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
### Introduction
### Giriş

We've been throwing around the term __ES6__ since our very first lessons, but we haven't taken the time to properly explain what it means or to investigate the implications of it in our code.
Derslerimizin ilk başından beri __ES6__ terimini kullanıyoruz, ancak bu terimin ne anlama geldiğini düzgün bir şekilde açıklamadık veya kodumuzdaki etkilerini araştırmadık.

ES6 is a version of JavaScript that was officially released in the summer of 2015. It included _many_ new features that make writing JavaScript much easier and cleaner. If you have been following our lessons you have already been learning these new features because, well, ES6 is _just JavaScript_.
ES6, resmi olarak 2015 yazında piyasaya sürülen bir JavaScript sürümüdür. JavaScript yazmayı çok daha kolay ve temiz hale getiren _birçok_ yeni özellik içeriyor. Eğer derslerimizi takip ediyorsanız zaten bu yeni özellikleri öğrenmeye başladınız çünkü işte, ES6'ın kendisi _JavaScript'tir_.

You have probably also come across articles talking about features in ES7 or ES8 or ES2015 or ES2017 etc. Part of the confusion here is that right after the release of ES6, the committee that makes these decisions changed the naming scheme from 'version numbers' (ES5, ES6, ES7 etc.) to 'release years' (ES2015, ES2016, ES2017 etc.)
Muhtemelen ES7, ES8, ES2015, ES2017 gibi sürümlerdeki özellikleri ele alan makalelere de rastlamışsınızdır. Buradaki kafa karışıklığının bir kısmı, ES6'nın piyasaya sürülmesinden hemen sonra, bu kararları alan komitenin isimlendirme düzenini 'sürüm numaraları'ndan (ES5, ES6, ES7 vb.) 'yayın yılları'na (ES2015, ES2016, ES2017 vb.) değiştirmesidir.

- [This article](https://codeburst.io/javascript-wtf-is-es6-es8-es-2017-ecmascript-dca859e4821c) provides a nice clean explanation and timeline of the various ECMAScript releases.
- [This document](https://github.com/lukehoban/es6features) outlines all the new features that showed up in ES6. As we've mentioned you've already been using many of these, though there are a few we haven't specifically covered yet.
- [This article](https://codeburst.io/javascript-wtf-is-es6-es8-es-2017-ecmascript-dca859e4821c), çeşitli ECMAScript sürümlerinin temiz ve açık bir açıklamasını ve zaman çizelgesini sunuyor.
- [This article](https://github.com/lukehoban/es6features), ES6'da ortaya çıkan tüm yeni özellikleri açıklıyor. Bahsettiğimiz gibi, çoğunu zaten kullanmaya başladınız, ancak henüz özel olarak ele almadığımız birkaç özellik bulunuyor.

The _problem_ with JavaScript constantly updating and adding features is that it sometimes takes web-browsers a while to catch up and implement new features once they've been released. At the current time all modern browsers (Chrome, Firefox, Safari and Edge) support _all_ of ES6, and _most_ of ES7, but older browsers (various versions of Internet Explorer for instance) do not. This means, unfortunately, that if you write code that uses these new features it __will not run__ in browsers that do not support it.
JavaScript'in sürekli olarak güncellenmesi ve özellikler eklenmesiyle ilgili _sorun_, bazen web tarayıcılarının yayınlandıktan sonra yeni özellikleri yakalayıp uygulamak için bir süre geçmesidir. Şu anda, tüm modern tarayıcılar (Chrome, Firefox, Safari ve Edge), ES6'nın _tamamını_, ve ES7'nin _çoğunu_ destekliyor, ancak eski tarayıcılar (örneğin çeşitli Internet Explorer sürümleri) desteklemiyor. Bu maalesef demek oluyor ki, eğer bu yeni özellikleri kullanan bir kod yazarsanız, desteklenmeyen tarayıcılarda çalışmayacaktır.

For most of us, this has not been an issue because you are almost definitely using a new browser that automatically updates itself when a new version is released. But in the real world, if you're selling products to customers you can't control which browsers people will use to connect to your site.
Çoğumuz için, bu bir sorun olmamıştır çünkü muhtemelen yeni bir tarayıcı kullanıyorsunuz ve yeni bir sürüm yayınlandığında kendini otomatik olarak güncelliyor. Ancak gerçek dünyada, müşterilere ürün satıyorsanız, insanların sitenize bağlanmak için hangi tarayıcıları kullandığını kontrol edemezsiniz.

Fortunately there _is_ a solution to this problem. [Babel](http://babeljs.io/) is a tool that takes your modern JavaScript code and __transpiles__ it to code that older browsers can understand. It can be used from the command line with a single command, and can also easily be added to your webpack configuration with the babel-loader.
Neyse ki bu sorunun bir çözümü var. [Babel](http://babeljs.io/), modern JavaScript kodunuzu alır ve onu eski tarayıcıların anlayabileceği bir şekilde __transpile__ (aktarmak) eder. Bu, komut satırından tek bir komutla kullanılabilir ve aynı zamanda babel-loader ile webpack yapılandırmanıza kolayca eklenebilir.

In all honesty, this is not something that you are going to _need_ to worry about on every project you're starting. All the ES6 features are present in the large majority of browsers used worldwide. But JavaScript is constantly changing, and as new features are announced and released, you can use Babel to try them out, often before they're available in _any_ browser!
Gerçek şu ki, bu her projede _endişe_ duymanız gereken bir şey değil. Dünya genelinde kullanılan tarayıcıların büyük çoğunluğunda tüm ES6 özellikleri mevcuttur. Ancak JavaScript sürekli değişiyor ve yeni özellikler duyurulduğunda ve yayınlandığında, genellikle _herhangi bir_ tarayıcıda mevcut olmadan önce bunları denemek için Babel'i kullanabilirsiniz!

- Follow the instructions [here](https://github.com/babel/babel-loader) to install the babel-loader and use it with webpack. If you've already got webpack up and running in a project, adding babel is a cinch!
- Read [this article](https://blog.jakoblind.no/babel-preset-env/) to better understand presets and plugins in Babel. It will also show you how to target specific browser versions you want to support.
- Babel-loader'ı kurmak ve webpack ile kullanmak için [here](https://github.com/babel/babel-loader) linkindei talimatları izleyin. Eğer zaten bir projede webpack'i çalıştırıyorsanız, Babel eklemek çok kolaydır!
- Presetler ve eklentiler hakkında daha iyi bir anlayış için [this article](https://blog.jakoblind.no/babel-preset-env/) okuyun. Ayrıca desteklemek istediğiniz belirli tarayıcı sürümlerini hedeflemenin nasıl yapılacağını da gösterecektir.
Loading