56 lines
2.1 KiB
Markdown
56 lines
2.1 KiB
Markdown
---
|
|
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) . عادة ما تكون ضرورية لأن تطبيقات الطبقة / الطريقة كلها أضيفت إلى المعيار. |