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