freeCodeCamp/guide/arabic/javascript/es6/index.md

56 lines
2.1 KiB
Markdown
Raw Normal View History

---
title: ES6
localeTitle: ES6
---
## ES6
تسمى النسخة السادسة من ECMAScript بـ ES6.
ومن المعروف أيضا باسم ES2015.
تضيف التغييرات الكثير من السكر النحوي الذي يسمح للمطورين بإنشاء تطبيقات بأسلوب موجه للكائنات.
> مثال ES5:
`var User = function () {
function User(name) {
this._name = name;
}
User.prototype.getName = function getName(x) {
return 'Mr./Mrs. ' + this._name;
};
return User;
}();
`
> مثال ES6:
``class User {
constructor(name) {
this._name = name
}
getName() {
return `Mr./Mrs. ${this._name}`
}
}
``
تم تقديم الكثير من ميزات بناء الجملة الجديدة بما في ذلك:
* الطبقات،
* وحدات،
* النموذجيه،
* ل / من الحلقات ،
* تعبيرات المولدات ،
* وظائف السهم ،
* مجموعات،
* وعود.
في الوقت الحاضر ، تتوفر معظم الميزات في جميع المتصفحات الشائعة. يحتوي [جدول التوافق](https://kangax.github.io/compat-table/es6/) على جميع المعلومات حول توفر الميزات لجميع المتصفحات الحديثة.
كثيرًا ما تصل الميزات الجديدة التي تشكل جزءًا من خليفة ES7. الطريقة الشائعة هي ترجمة JavaScript الحديثة (ES6 و ES7 وغيرها من المقترحات التجريبية) إلى ES5. يجعل هذا من المتصفحات القديمة أيضًا إمكانية تنفيذ الشفرة. هناك أدوات مثل [بابل](https://babeljs.io/) التي تحول جافا سكريبت الجديدة إلى ES5.
إلى جانب السكر النحوي القادم من معايير ECMAScript هناك ميزات تتطلب [Polyfill](https://babeljs.io/docs/usage/polyfill) . عادة ما تكون ضرورية لأن تطبيقات الطبقة / الطريقة كلها أضيفت إلى المعيار.