❞ كتاب ECMAScript® 2015 Language Specification ❝

❞ كتاب ECMAScript® 2015 Language Specification ❝

كتاب رائغ يشرح لك كل شئ في لغة الجافا سكريبت وفقا للإصدار es6 وهو حقا كتاب رائع وشامل سيزيد من ثقل مهاراتك بلا شك وسيحولك من نقطة مبتدئ إلى نقطة أعلى من ذلك إذا فهمته وطبقت عليه بالشكل السليم
ECMAScript® 2015 Language Specification

COPYRIGHT NOTICE
© 2015 Ecma International
This document may be copied, published and distributed to others, and certain derivative works of it may be prepared, copied, published, and distributed, in whole or in part, provided that the above copyright notice and this Copyright License and Disclaimer are included on all such copies and derivative works. The only derivative works that are permissible under this Copyright License and Disclaimer are:
(i) works which incorporate all or portion of this document for the purpose of providing commentary or explanation (such as an annotated version of the document),
(ii) works which incorporate all or portion of this document for the purpose of incorporating features that provide accessibility,
(iii) translations of this document into languages other than English and into different formats and
(iv) works by making use of this specification in standard conformant products by implementing (e.g. by copy and paste wholly or partly) the functionality therein.
However, the content of this document itself may not be modified in any way, including by removing the copyright notice or references to Ecma International, except as required to translate it into languages other than English or into a different format.
The official version of an Ecma International document is the English language version on the Ecma International website. In the event of discrepancies between a translated version and the official version, the official version shall govern.
The limited permissions granted above are perpetual and will not be revoked by Ecma International or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and ECMA INTERNATIONAL DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."
Software License
All Software contained in this document ("Software)" is protected by copyright and is being made available under the "BSD License", included below. This Software may be subject to third party rights (rights from parties other than Ecma International), including patent rights, and no licenses under such third party rights are granted under this license even if the third party concerned is a member of Ecma International. SEE THE ECMA CODE OF CONDUCT IN PATENT MATTERS AVAILABLE AT http://www.ecma-international.org/memento/codeofconduct.htm FOR INFORMATION REGARDING THE LICENSING OF PATENT CLAIMS THAT ARE REQUIRED TO IMPLEMENT ECMA INTERNATIONAL STANDARDS*.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the authors nor Ecma International may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE ECMA INTERNATIONAL "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ECMA INTERNATIONAL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Contents Page
1 Scope .............................................................................................................................................1
2 Conformance .................................................................................................................................1
3 Normative references ....................................................................................................................1
4 Overview ........................................................................................................................................1
4.1 Web Scripting ................................................................................................................................2
4.2 ECMAScript Overview ...................................................................................................................2
4.2.1 Objects...........................................................................................................................................3
4.2.2 The Strict Variant of ECMAScript .................................................................................................4
4.3 Terms and definitions ...................................................................................................................5
4.4 Organization of This Specification ...............................................................................................8
5 Notational Conventions ................................................................................................................8
5.1 Syntactic and Lexical Grammars ..................................................................................................8
5.1.1 Context-Free Grammars................................................................................................................8
5.1.2 The Lexical and RegExp Grammars .............................................................................................9
5.1.3 The Numeric String Grammar .......................................................................................................9
5.1.4 The Syntactic Grammar ................................................................................................................9
5.1.5 Grammar Notation ....................................................................................................................... 10
5.2 Algorithm Conventions ............................................................................................................... 14
5.3 Static Semantic Rules ................................................................................................................. 16
6 ECMAScript Data Types and Values .......................................................................................... 16
6.1 ECMAScript Language Types ..................................................................................................... 16
6.1.1 The Undefined Type .................................................................................................................... 16
6.1.2 The Null Type............................................................................................................................... 17
6.1.3 The Boolean Type ....................................................................................................................... 17
6.1.4 The String Type ........................................................................................................................... 17
6.1.5 The Symbol Type......................................................................................................................... 17
6.1.6 The Number Type ........................................................................................................................ 18
6.1.7 The Object Type .......................................................................................................................... 19
6.2 ECMAScript Specification Types ................................................................................................ 29
6.2.1 The List and Record Specification Type .................................................................................... 29
6.2.2 The Completion Record Specification Type .............................................................................. 30
6.2.3 The Reference Specification Type .............................................................................................. 31
6.2.4 The Property Descriptor Specification Type .............................................................................. 33
6.2.5 The Lexical Environment and Environment Record Specification Types ................................ 35
6.2.6 Data Blocks ................................................................................................................................. 35
7 Abstract Operations .................................................................................................................... 36
7.1 Type Conversion ......................................................................................................................... 36
7.1.1 ToPrimitive ( input [, PreferredType] ) ........................................................................................ 36
7.1.2 ToBoolean ( argument ) .............................................................................................................. 37
7.1.3 ToNumber ( argument ) ............................................................................................................... 38
7.1.4 ToInteger ( argument ) ................................................................................................................ 40
7.1.5 ToInt32 ( argument ) .................................................................................................................... 40
7.1.6 ToUint32 ( argument ) ................................................................................................................. 41
7.1.7 ToInt16 ( argument ) .................................................................................................................... 41
7.1.8 ToUint16 ( argument ) ................................................................................................................. 41
7.1.9 ToInt8 ( argument ) ...................................................................................................................... 41
7.1.10 ToUint8 ( argument ) ................................................................................................................... 42
7.1.11 ToUint8Clamp ( argument ) ......................................................................................................... 42
7.1.12 ToString ( argument ) .................................................................................................................. 42
iv © Ecma International 2015
ToObject 7.1.13 ( argument ) ................................................................................................................. 43
7.1.14 ToPropertyKey ( argument ) ....................................................................................................... 44
7.1.15 ToLength ( argument ) ................................................................................................................ 44
7.1.16 CanonicalNumericIndexString ( argument ) .............................................................................. 44
7.2 Testing and Comparison Operations ......................................................................................... 45
7.2.1 RequireObjectCoercible ( argument ) ........................................................................................ 45
7.2.2 IsArray ( argument ) .................................................................................................................... 45
7.2.3 IsCallable ( argument ) ................................................................................................................ 45
7.2.4 IsConstructor ( argument ) ......................................................................................................... 45
7.2.5 IsExtensible (O) ........................................................................................................................... 45
7.2.6 IsInteger ( argument ).................................................................................................................. 46
7.2.7 IsPropertyKey ( argument ) ........................................................................................................ 46
7.2.8 IsRegExp ( argument ) ................................................................................................................ 46
7.2.9 SameValue(x, y) .......................................................................................................................... 46
7.2.10 SameValueZero(x, y) ................................................................................................................... 46
7.2.11 Abstract Relational Comparison ................................................................................................ 47
7.2.12 Abstract Equality Comparison ................................................................................................... 48
7.2.13 Strict Equality Comparison ........................................................................................................ 48
7.3 Operations on Objects ................................................................................................................ 49
7.3.1 Get (O, P) ..................................................................................................................................... 49
7.3.2 GetV (V, P) ................................................................................................................................... 49
7.3.3 Set (O, P, V, Throw) ..................................................................................................................... 49
7.3.4 CreateDataProperty (O, P, V) ...................................................................................................... 49
7.3.5 CreateMethodProperty (O, P, V) ................................................................................................. 50
7.3.6 CreateDataPropertyOrThrow (O, P, V)........................................................................................ 50
7.3.7 DefinePropertyOrThrow (O, P, desc) .......................................................................................... 50
7.3.8 DeletePropertyOrThrow (O, P) .................................................................................................... 50
7.3.9 GetMethod (O, P) ......................................................................................................................... 51
7.3.10 HasProperty (O, P) ...................................................................................................................... 51
7.3.11 HasOwnProperty (O, P) ............................................................................................................... 51
7.3.12 Call(F, V, [argumentsList]) .......................................................................................................... 51
7.3.13 Construct (F, [argumentsList], [newTarget]) ............................................................................. 51
7.3.14 SetIntegrityLevel (O, level) ......................................................................................................... 52
7.3.15 TestIntegrityLevel (O, level) ........................................................................................................ 52
7.3.16 CreateArrayFromList (elements) ................................................................................................ 52
7.3.17 CreateListFromArrayLike (obj [, elementTypes] )...................................................................... 53
7.3.18 Invoke(O,P, [argumentsList]) ...................................................................................................... 53
7.3.19 OrdinaryHasInstance (C, O) ........................................................................................................ 53
7.3.20 SpeciesConstructor ( O, defaultConstructor ) ........................................................................... 54
7.3.21 EnumerableOwnNames (O) ........................................................................................................ 54
7.3.22 GetFunctionRealm ( obj ) ............................................................................................................ 54
7.4 Operations on Iterator Objects ................................................................................................... 54
7.4.1 GetIterator ( obj, method ) .......................................................................................................... 55
7.4.2 IteratorNext ( iterator, value )...................................................................................................... 55
7.4.3 IteratorComplete ( iterResult ) .................................................................................................... 55
7.4.4 IteratorValue ( iterResult ) ........................................................................................................... 55
7.4.5 IteratorStep ( iterator ) ................................................................................................................ 55
7.4.6 IteratorClose( iterator, completion ) ........................................................................................... 55
7.4.7 CreateIterResultObject ( value, done ) ....................................................................................... 56
7.4.8 CreateListIterator ( list ) .............................................................................................................. 56
8 Executable Code and Execution Contexts................................................................................. 56
8.1 Lexical Environments ................................................................................................................. 56
8.1.1 Environment Records ................................................................................................................. 57
8.1.2 Lexical Environment Operations ................................................................................................ 71
8.2 Code Realms ............................................................................................................................... 72
8.2.1 CreateRealm ( )............................................................................................................................ 73
8.2.2 CreateIntrinsics ( realmRec ) ...................................................................................................... 73
8.2.3 SetRealmGlobalObject ( realmRec, globalObj ) ......................................................................... 73
8.2.4 SetDefaultGlobalBindings ( realmRec ) ..................................................................................... 73
..........................
-
من كتب جافا سكريبت كتب تطوير المواقع الالكترونيه - مكتبة كتب تقنية المعلومات.

نبذة عن الكتاب:
ECMAScript® 2015 Language Specification

2015م - 1445هـ
كتاب رائغ يشرح لك كل شئ في لغة الجافا سكريبت وفقا للإصدار es6 وهو حقا كتاب رائع وشامل سيزيد من ثقل مهاراتك بلا شك وسيحولك من نقطة مبتدئ إلى نقطة أعلى من ذلك إذا فهمته وطبقت عليه بالشكل السليم
ECMAScript® 2015 Language Specification

COPYRIGHT NOTICE
© 2015 Ecma International
This document may be copied, published and distributed to others, and certain derivative works of it may be prepared, copied, published, and distributed, in whole or in part, provided that the above copyright notice and this Copyright License and Disclaimer are included on all such copies and derivative works. The only derivative works that are permissible under this Copyright License and Disclaimer are:
(i) works which incorporate all or portion of this document for the purpose of providing commentary or explanation (such as an annotated version of the document),
(ii) works which incorporate all or portion of this document for the purpose of incorporating features that provide accessibility,
(iii) translations of this document into languages other than English and into different formats and
(iv) works by making use of this specification in standard conformant products by implementing (e.g. by copy and paste wholly or partly) the functionality therein.
However, the content of this document itself may not be modified in any way, including by removing the copyright notice or references to Ecma International, except as required to translate it into languages other than English or into a different format.
The official version of an Ecma International document is the English language version on the Ecma International website. In the event of discrepancies between a translated version and the official version, the official version shall govern.
The limited permissions granted above are perpetual and will not be revoked by Ecma International or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and ECMA INTERNATIONAL DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."
Software License
All Software contained in this document ("Software)" is protected by copyright and is being made available under the "BSD License", included below. This Software may be subject to third party rights (rights from parties other than Ecma International), including patent rights, and no licenses under such third party rights are granted under this license even if the third party concerned is a member of Ecma International. SEE THE ECMA CODE OF CONDUCT IN PATENT MATTERS AVAILABLE AT http://www.ecma-international.org/memento/codeofconduct.htm FOR INFORMATION REGARDING THE LICENSING OF PATENT CLAIMS THAT ARE REQUIRED TO IMPLEMENT ECMA INTERNATIONAL STANDARDS*.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the authors nor Ecma International may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE ECMA INTERNATIONAL "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ECMA INTERNATIONAL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Contents Page
1 Scope .............................................................................................................................................1
2 Conformance .................................................................................................................................1
3 Normative references ....................................................................................................................1
4 Overview ........................................................................................................................................1
4.1 Web Scripting ................................................................................................................................2
4.2 ECMAScript Overview ...................................................................................................................2
4.2.1 Objects...........................................................................................................................................3
4.2.2 The Strict Variant of ECMAScript .................................................................................................4
4.3 Terms and definitions ...................................................................................................................5
4.4 Organization of This Specification ...............................................................................................8
5 Notational Conventions ................................................................................................................8
5.1 Syntactic and Lexical Grammars ..................................................................................................8
5.1.1 Context-Free Grammars................................................................................................................8
5.1.2 The Lexical and RegExp Grammars .............................................................................................9
5.1.3 The Numeric String Grammar .......................................................................................................9
5.1.4 The Syntactic Grammar ................................................................................................................9
5.1.5 Grammar Notation ....................................................................................................................... 10
5.2 Algorithm Conventions ............................................................................................................... 14
5.3 Static Semantic Rules ................................................................................................................. 16
6 ECMAScript Data Types and Values .......................................................................................... 16
6.1 ECMAScript Language Types ..................................................................................................... 16
6.1.1 The Undefined Type .................................................................................................................... 16
6.1.2 The Null Type............................................................................................................................... 17
6.1.3 The Boolean Type ....................................................................................................................... 17
6.1.4 The String Type ........................................................................................................................... 17
6.1.5 The Symbol Type......................................................................................................................... 17
6.1.6 The Number Type ........................................................................................................................ 18
6.1.7 The Object Type .......................................................................................................................... 19
6.2 ECMAScript Specification Types ................................................................................................ 29
6.2.1 The List and Record Specification Type .................................................................................... 29
6.2.2 The Completion Record Specification Type .............................................................................. 30
6.2.3 The Reference Specification Type .............................................................................................. 31
6.2.4 The Property Descriptor Specification Type .............................................................................. 33
6.2.5 The Lexical Environment and Environment Record Specification Types ................................ 35
6.2.6 Data Blocks ................................................................................................................................. 35
7 Abstract Operations .................................................................................................................... 36
7.1 Type Conversion ......................................................................................................................... 36
7.1.1 ToPrimitive ( input [, PreferredType] ) ........................................................................................ 36
7.1.2 ToBoolean ( argument ) .............................................................................................................. 37
7.1.3 ToNumber ( argument ) ............................................................................................................... 38
7.1.4 ToInteger ( argument ) ................................................................................................................ 40
7.1.5 ToInt32 ( argument ) .................................................................................................................... 40
7.1.6 ToUint32 ( argument ) ................................................................................................................. 41
7.1.7 ToInt16 ( argument ) .................................................................................................................... 41
7.1.8 ToUint16 ( argument ) ................................................................................................................. 41
7.1.9 ToInt8 ( argument ) ...................................................................................................................... 41
7.1.10 ToUint8 ( argument ) ................................................................................................................... 42
7.1.11 ToUint8Clamp ( argument ) ......................................................................................................... 42
7.1.12 ToString ( argument ) .................................................................................................................. 42
iv © Ecma International 2015
ToObject 7.1.13 ( argument ) ................................................................................................................. 43
7.1.14 ToPropertyKey ( argument ) ....................................................................................................... 44
7.1.15 ToLength ( argument ) ................................................................................................................ 44
7.1.16 CanonicalNumericIndexString ( argument ) .............................................................................. 44
7.2 Testing and Comparison Operations ......................................................................................... 45
7.2.1 RequireObjectCoercible ( argument ) ........................................................................................ 45
7.2.2 IsArray ( argument ) .................................................................................................................... 45
7.2.3 IsCallable ( argument ) ................................................................................................................ 45
7.2.4 IsConstructor ( argument ) ......................................................................................................... 45
7.2.5 IsExtensible (O) ........................................................................................................................... 45
7.2.6 IsInteger ( argument ).................................................................................................................. 46
7.2.7 IsPropertyKey ( argument ) ........................................................................................................ 46
7.2.8 IsRegExp ( argument ) ................................................................................................................ 46
7.2.9 SameValue(x, y) .......................................................................................................................... 46
7.2.10 SameValueZero(x, y) ................................................................................................................... 46
7.2.11 Abstract Relational Comparison ................................................................................................ 47
7.2.12 Abstract Equality Comparison ................................................................................................... 48
7.2.13 Strict Equality Comparison ........................................................................................................ 48
7.3 Operations on Objects ................................................................................................................ 49
7.3.1 Get (O, P) ..................................................................................................................................... 49
7.3.2 GetV (V, P) ................................................................................................................................... 49
7.3.3 Set (O, P, V, Throw) ..................................................................................................................... 49
7.3.4 CreateDataProperty (O, P, V) ...................................................................................................... 49
7.3.5 CreateMethodProperty (O, P, V) ................................................................................................. 50
7.3.6 CreateDataPropertyOrThrow (O, P, V)........................................................................................ 50
7.3.7 DefinePropertyOrThrow (O, P, desc) .......................................................................................... 50
7.3.8 DeletePropertyOrThrow (O, P) .................................................................................................... 50
7.3.9 GetMethod (O, P) ......................................................................................................................... 51
7.3.10 HasProperty (O, P) ...................................................................................................................... 51
7.3.11 HasOwnProperty (O, P) ............................................................................................................... 51
7.3.12 Call(F, V, [argumentsList]) .......................................................................................................... 51
7.3.13 Construct (F, [argumentsList], [newTarget]) ............................................................................. 51
7.3.14 SetIntegrityLevel (O, level) ......................................................................................................... 52
7.3.15 TestIntegrityLevel (O, level) ........................................................................................................ 52
7.3.16 CreateArrayFromList (elements) ................................................................................................ 52
7.3.17 CreateListFromArrayLike (obj [, elementTypes] )...................................................................... 53
7.3.18 Invoke(O,P, [argumentsList]) ...................................................................................................... 53
7.3.19 OrdinaryHasInstance (C, O) ........................................................................................................ 53
7.3.20 SpeciesConstructor ( O, defaultConstructor ) ........................................................................... 54
7.3.21 EnumerableOwnNames (O) ........................................................................................................ 54
7.3.22 GetFunctionRealm ( obj ) ............................................................................................................ 54
7.4 Operations on Iterator Objects ................................................................................................... 54
7.4.1 GetIterator ( obj, method ) .......................................................................................................... 55
7.4.2 IteratorNext ( iterator, value )...................................................................................................... 55
7.4.3 IteratorComplete ( iterResult ) .................................................................................................... 55
7.4.4 IteratorValue ( iterResult ) ........................................................................................................... 55
7.4.5 IteratorStep ( iterator ) ................................................................................................................ 55
7.4.6 IteratorClose( iterator, completion ) ........................................................................................... 55
7.4.7 CreateIterResultObject ( value, done ) ....................................................................................... 56
7.4.8 CreateListIterator ( list ) .............................................................................................................. 56
8 Executable Code and Execution Contexts................................................................................. 56
8.1 Lexical Environments ................................................................................................................. 56
8.1.1 Environment Records ................................................................................................................. 57
8.1.2 Lexical Environment Operations ................................................................................................ 71
8.2 Code Realms ............................................................................................................................... 72
8.2.1 CreateRealm ( )............................................................................................................................ 73
8.2.2 CreateIntrinsics ( realmRec ) ...................................................................................................... 73
8.2.3 SetRealmGlobalObject ( realmRec, globalObj ) ......................................................................... 73
8.2.4 SetDefaultGlobalBindings ( realmRec ) ..................................................................................... 73
.......................... .
المزيد..

تعليقات القرّاء:

 مواصفات اللغة ECMAScript® 2015

إشعار حقوق الطبع
والنشر © 2015 Ecma International
يجوز نسخ هذا المستند ونشره وتوزيعه على الآخرين ، ويمكن إعداد بعض الأعمال المشتقة منه ونسخها ونشرها وتوزيعها ، كليًا أو جزئيًا ، شريطة أن يكون إشعار حقوق النشر أعلاه وحقوق النشر هذه يتم تضمين الترخيص وإخلاء المسؤولية في جميع هذه النسخ والأعمال المشتقة. الأعمال المشتقة الوحيدة المسموح بها بموجب ترخيص حقوق الطبع والنشر وإخلاء المسؤولية هي:
(1) الأعمال التي تتضمن كل هذا المستند أو جزء منه بغرض تقديم تعليق أو شرح (مثل نسخة مشروحة من المستند) ،
(2) الأعمال التي تدمج كل هذا المستند أو جزء منه لغرض دمج الميزات التي توفر إمكانية الوصول ،
(3) ترجمات هذه الوثيقة إلى لغات أخرى غير الإنجليزية وإلى صيغ مختلفة و
(4) يعمل من خلال الاستفادة من هذه المواصفات في منتجات مطابقة قياسية من خلال تنفيذ (على سبيل المثال عن طريق النسخ واللصق كليًا أو جزئيًا) الوظيفة الموجودة فيها.
ومع ذلك ، لا يجوز تعديل محتوى هذا المستند بأي شكل من الأشكال ، بما في ذلك إزالة إشعار حقوق النشر أو الإشارات إلى Ecma International ، باستثناء ما هو مطلوب لترجمته إلى لغات أخرى غير الإنجليزية أو إلى تنسيق مختلف.
النسخة الرسمية لوثيقة Ecma International هي النسخة الإنجليزية على موقع Ecma International. في حالة وجود تناقضات بين النسخة المترجمة والنسخة الرسمية ، يتم الاحتكام إلى النسخة الرسمية.
الأذونات المحدودة الممنوحة أعلاه دائمة ولن يتم إلغاؤها من قبل Ecma International أو خلفائها أو المتنازل لهم.
يتم توفير هذا المستند والمعلومات الواردة فيه على أساس "كما هي" وتخلي شركة ECMA الدولية مسؤوليتها عن جميع الضمانات ، الصريحة أو الضمنية ، بما في ذلك على سبيل المثال لا الحصر أي ضمان بأن استخدام المعلومات الواردة هنا لن ينتهك أي حقوق ملكية أو أي حقوق ضمنية ضمانات القابلية للتسويق أو الملاءمة لغرض معين. "
ترخيص البرنامج
جميع البرامج الواردة في هذا المستند ("البرنامج)" محمية بموجب حقوق النشر ويتم توفيرها بموجب "ترخيص BSD" ، المضمن أدناه. قد يخضع هذا البرنامج لحقوق طرف ثالث (حقوق من أطراف أخرى غير Ecma International) ، بما في ذلك حقوق براءات الاختراع ، ولا يتم منح أي تراخيص بموجب حقوق الطرف الثالث هذه بموجب هذا الترخيص حتى إذا كان الطرف الثالث المعني عضوًا في Ecma International. اطلع على مدونة قواعد السلوك الخاصة بشركة ECMA في الأمور المتعلقة ببراءات الاختراع والمتوفرة على http://www.ecma-international.org/memento/codeofconduct.htm للحصول على معلومات تتعلق بترخيص مطالبات براءات الاختراع المطلوبة لتنفيذ معايير ECMA الدولية *.
يُسمح بإعادة التوزيع والاستخدام في أشكال المصدر والثنائية ، مع أو بدون تعديل ، بشرط استيفاء الشروط التالية:
1. يجب أن تحتفظ عمليات إعادة توزيع الكود المصدري بإشعار حقوق النشر أعلاه وقائمة الشروط هذه وإخلاء المسؤولية التالي.
2. إعادة التوزيع في شكل ثنائي يجب أن يعيد إنتاج إشعار حقوق النشر أعلاه ، وقائمة الشروط هذه وإخلاء المسؤولية التالي في الوثائق و / أو المواد الأخرى المقدمة مع التوزيع.
3. لا يجوز استخدام اسم المؤلفين أو Ecma International للمصادقة على المنتجات المشتقة من هذا البرنامج أو الترويج لها دون إذن كتابي مسبق محدد.
يتم توفير هذا البرنامج من قبل شركة ECMA الدولية "كما هي" ويتم التنازل عن أي ضمانات صريحة أو ضمنية ، بما في ذلك ، على سبيل المثال لا الحصر ، الضمانات الضمنية الخاصة بقابلية التسويق والملاءمة لغرض معين. لن تتحمل شركة ECMA International بأي حال من الأحوال المسؤولية عن أي أضرار مباشرة أو غير مباشرة أو عرضية أو خاصة أو نموذجية أو تبعية (بما في ذلك ، على سبيل المثال لا الحصر ، شراء سلع أو خدمات بديلة أو فقدان الاستخدام أو البيانات أو الأرباح أو الخسائر ) مهما كان السبب وفي أي نظرية للمسؤولية ، سواء كان ذلك في العقد أو المسؤولية الصارمة أو الضرر (بما في ذلك الإهمال أو غير ذلك) الذي ينشأ بأي طريقة من طريقة استخدام هذا البرنامج ، حتى لو تم إخطار هذا الاحتمال.

Contents Page
1 Scope .............................................................................................................................................1
2 Conformance .................................................................................................................................1
3 Normative references ....................................................................................................................1
4 Overview ........................................................................................................................................1
4.1 Web Scripting ................................................................................................................................2
4.2 ECMAScript Overview ...................................................................................................................2
4.2.1 Objects...........................................................................................................................................3
4.2.2 The Strict Variant of ECMAScript .................................................................................................4
4.3 Terms and definitions ...................................................................................................................5
4.4 Organization of This Specification ...............................................................................................8
5 Notational Conventions ................................................................................................................8
5.1 Syntactic and Lexical Grammars ..................................................................................................8
5.1.1 Context-Free Grammars................................................................................................................8
5.1.2 The Lexical and RegExp Grammars .............................................................................................9
5.1.3 The Numeric String Grammar .......................................................................................................9
5.1.4 The Syntactic Grammar ................................................................................................................9
5.1.5 Grammar Notation ....................................................................................................................... 10
5.2 Algorithm Conventions ............................................................................................................... 14
5.3 Static Semantic Rules ................................................................................................................. 16
6 ECMAScript Data Types and Values .......................................................................................... 16
6.1 ECMAScript Language Types ..................................................................................................... 16
6.1.1 The Undefined Type .................................................................................................................... 16
6.1.2 The Null Type............................................................................................................................... 17
6.1.3 The Boolean Type ....................................................................................................................... 17
6.1.4 The String Type ........................................................................................................................... 17
6.1.5 The Symbol Type......................................................................................................................... 17
6.1.6 The Number Type ........................................................................................................................ 18
6.1.7 The Object Type .......................................................................................................................... 19
6.2 ECMAScript Specification Types ................................................................................................ 29
6.2.1 The List and Record Specification Type .................................................................................... 29
6.2.2 The Completion Record Specification Type .............................................................................. 30
6.2.3 The Reference Specification Type .............................................................................................. 31
6.2.4 The Property Descriptor Specification Type .............................................................................. 33
6.2.5 The Lexical Environment and Environment Record Specification Types ................................ 35
6.2.6 Data Blocks ................................................................................................................................. 35
7 Abstract Operations .................................................................................................................... 36
7.1 Type Conversion ......................................................................................................................... 36
7.1.1 ToPrimitive ( input [, PreferredType] ) ........................................................................................ 36
7.1.2 ToBoolean ( argument ) .............................................................................................................. 37
7.1.3 ToNumber ( argument ) ............................................................................................................... 38
7.1.4 ToInteger ( argument ) ................................................................................................................ 40
7.1.5 ToInt32 ( argument ) .................................................................................................................... 40
7.1.6 ToUint32 ( argument ) ................................................................................................................. 41
7.1.7 ToInt16 ( argument ) .................................................................................................................... 41
7.1.8 ToUint16 ( argument ) ................................................................................................................. 41
7.1.9 ToInt8 ( argument ) ...................................................................................................................... 41
7.1.10 ToUint8 ( argument ) ................................................................................................................... 42
7.1.11 ToUint8Clamp ( argument ) ......................................................................................................... 42
7.1.12 ToString ( argument ) .................................................................................................................. 42
iv © Ecma International 2015
ToObject 7.1.13 ( argument ) ................................................................................................................. 43
7.1.14 ToPropertyKey ( argument ) ....................................................................................................... 44
7.1.15 ToLength ( argument ) ................................................................................................................ 44
7.1.16 CanonicalNumericIndexString ( argument ) .............................................................................. 44
7.2 Testing and Comparison Operations ......................................................................................... 45
7.2.1 RequireObjectCoercible ( argument ) ........................................................................................ 45
7.2.2 IsArray ( argument ) .................................................................................................................... 45
7.2.3 IsCallable ( argument ) ................................................................................................................ 45
7.2.4 IsConstructor ( argument ) ......................................................................................................... 45
7.2.5 IsExtensible (O) ........................................................................................................................... 45
7.2.6 IsInteger ( argument ).................................................................................................................. 46
7.2.7 IsPropertyKey ( argument ) ........................................................................................................ 46
7.2.8 IsRegExp ( argument ) ................................................................................................................ 46
7.2.9 SameValue(x, y) .......................................................................................................................... 46
7.2.10 SameValueZero(x, y) ................................................................................................................... 46
7.2.11 Abstract Relational Comparison ................................................................................................ 47
7.2.12 Abstract Equality Comparison ................................................................................................... 48
7.2.13 Strict Equality Comparison ........................................................................................................ 48
7.3 Operations on Objects ................................................................................................................ 49
7.3.1 Get (O, P) ..................................................................................................................................... 49
7.3.2 GetV (V, P) ................................................................................................................................... 49
7.3.3 Set (O, P, V, Throw) ..................................................................................................................... 49
7.3.4 CreateDataProperty (O, P, V) ...................................................................................................... 49
7.3.5 CreateMethodProperty (O, P, V) ................................................................................................. 50
7.3.6 CreateDataPropertyOrThrow (O, P, V)........................................................................................ 50
7.3.7 DefinePropertyOrThrow (O, P, desc) .......................................................................................... 50
7.3.8 DeletePropertyOrThrow (O, P) .................................................................................................... 50
7.3.9 GetMethod (O, P) ......................................................................................................................... 51
7.3.10 HasProperty (O, P) ...................................................................................................................... 51
7.3.11 HasOwnProperty (O, P) ............................................................................................................... 51
7.3.12 Call(F, V, [argumentsList]) .......................................................................................................... 51
7.3.13 Construct (F, [argumentsList], [newTarget]) ............................................................................. 51
7.3.14 SetIntegrityLevel (O, level) ......................................................................................................... 52
7.3.15 TestIntegrityLevel (O, level) ........................................................................................................ 52
7.3.16 CreateArrayFromList (elements) ................................................................................................ 52
7.3.17 CreateListFromArrayLike (obj [, elementTypes] )...................................................................... 53
7.3.18 Invoke(O,P, [argumentsList]) ...................................................................................................... 53
7.3.19 OrdinaryHasInstance (C, O) ........................................................................................................ 53
7.3.20 SpeciesConstructor ( O, defaultConstructor ) ........................................................................... 54
7.3.21 EnumerableOwnNames (O) ........................................................................................................ 54
7.3.22 GetFunctionRealm ( obj ) ............................................................................................................ 54
7.4 Operations on Iterator Objects ................................................................................................... 54
7.4.1 GetIterator ( obj, method ) .......................................................................................................... 55
7.4.2 IteratorNext ( iterator, value )...................................................................................................... 55
7.4.3 IteratorComplete ( iterResult ) .................................................................................................... 55
7.4.4 IteratorValue ( iterResult ) ........................................................................................................... 55
7.4.5 IteratorStep ( iterator ) ................................................................................................................ 55
7.4.6 IteratorClose( iterator, completion ) ........................................................................................... 55
7.4.7 CreateIterResultObject ( value, done ) ....................................................................................... 56
7.4.8 CreateListIterator ( list ) .............................................................................................................. 56
8 Executable Code and Execution Contexts................................................................................. 56
8.1 Lexical Environments ................................................................................................................. 56
8.1.1 Environment Records ................................................................................................................. 57
8.1.2 Lexical Environment Operations ................................................................................................ 71
8.2 Code Realms ............................................................................................................................... 72
8.2.1 CreateRealm ( )............................................................................................................................ 73
8.2.2 CreateIntrinsics ( realmRec ) ...................................................................................................... 73
8.2.3 SetRealmGlobalObject ( realmRec, globalObj ) ......................................................................... 73
8.2.4 SetDefaultGlobalBindings ( realmRec ) ..................................................................................... 73
© Ecma International 2015 v
8.3 Execution Contexts ..................................................................................................................... 74
ResolveBinding 8.3.1 ( name, [env] )................................................................................................... 75
8.3.2 GetThisEnvironment ( ) ............................................................................................................... 75
8.3.3 ResolveThisBinding ( ) ................................................................................................................ 75
8.3.4 GetNewTarget ( ).......................................................................................................................... 75
8.3.5 GetGlobalObject ( ) ...................................................................................................................... 76
8.4 Jobs and Job Queues ................................................................................................................. 76
8.4.1 EnqueueJob (queueName, job, arguments) ............................................................................... 77
8.4.2 NextJob result ............................................................................................................................. 77
8.5 ECMAScript Initialization() .......................................................................................................... 77
8.5.1 InitializeHostDefinedRealm ( realm ) .......................................................................................... 78
9 Ordinary and Exotic Objects Behaviours ................................................................................... 78
9.1 Ordinary Object Internal Methods and Internal Slots ................................................................ 78
9.1.1 [[GetPrototypeOf]] ( )................................................................................................................... 78
9.1.2 [[SetPrototypeOf]] (V) .................................................................................................................. 78
9.1.3 [[IsExtensible]] ( ) ........................................................................................................................ 79
9.1.4 [[PreventExtensions]] ( ) ............................................................................................................. 79
9.1.5 [[GetOwnProperty]] (P) ............................................................................................................... 79
9.1.6 [[DefineOwnProperty]] (P, Desc) ................................................................................................ 79
9.1.7 [[HasProperty]](P) ....................................................................................................................... 81
9.1.8 [[Get]] (P, Receiver) ..................................................................................................................... 81
9.1.9 [[Set]] ( P, V, Receiver) ................................................................................................................ 81
9.1.10 [[Delete]] (P) ................................................................................................................................. 82
9.1.11 [[Enumerate]] () ........................................................................................................................... 82
9.1.12 [[OwnPropertyKeys]] ( ) .............................................................................................................. 83
9.1.13 ObjectCreate(proto, internalSlotsList) ....................................................................................... 83
9.1.14 OrdinaryCreateFromConstructor ( constructor, intrinsicDefaultProto, internalSlotsList ) ..... 83
9.1.15 GetPrototypeFromConstructor ( constructor, intrinsicDefaultProto ) ...................................... 84
9.2 ECMAScript Function Objects .................................................................................................... 84
9.2.1 [[Call]] ( thisArgument, argumentsList) ...................................................................................... 85
9.2.2 [[Construct]] ( argumentsList, newTarget) ................................................................................. 86
9.2.3 FunctionAllocate (functionPrototype, strict [,functionKind] ) ................................................... 87
9.2.4 FunctionInitialize (F, kind, ParameterList, Body, Scope) .......................................................... 87
9.2.5 FunctionCreate (kind, ParameterList, Body, Scope, Strict, prototype) ..................................... 88
9.2.6 GeneratorFunctionCreate (kind, ParameterList, Body, Scope, Strict) ...................................... 88
9.2.7 AddRestrictedFunctionProperties ( F, realm ) ........................................................................... 88
9.2.8 MakeConstructor (F, writablePrototype, prototype) .................................................................. 88
9.2.9 MakeClassConstructor ( F) ......................................................................................................... 89
9.2.10 MakeMethod ( F, homeObject) .................................................................................................... 89
9.2.11 SetFunctionName (F, name, prefix) ............................................................................................ 89
9.2.12 FunctionDeclarationInstantiation(func, argumentsList) ............................................................ 89
9.3 Built-in Function Objects ............................................................................................................ 92
9.3.1 [[Call]] ( thisArgument, argumentsList) ...................................................................................... 92
9.3.2 [[Construct]] (argumentsList, newTarget) .................................................................................. 93
9.3.3 CreateBuiltinFunction(realm, steps, prototype, internalSlotsList) ........................................... 93
9.4 Built-in Exotic Object Internal Methods and Slots ..................................................................... 93
9.4.1 Bound Function Exotic Objects .................................................................................................. 93
9.4.2 Array Exotic Objects ................................................................................................................... 95
9.4.3 String Exotic Objects .................................................................................................................. 97
9.4.4 Arguments Exotic Objects .......................................................................................................... 98
9.4.5 Integer Indexed Exotic Objects................................................................................................. 102
9.4.6 Module Namespace Exotic Objects .......................................................................................... 105
9.5 Proxy Object Internal Methods and Internal Slots ................................................................... 108
9.5.1 [[GetPrototypeOf]] ( )................................................................................................................. 109
9.5.2 [[SetPrototypeOf]] (V) ................................................................................................................ 109
9.5.3 [[IsExtensible]] ( ) ...................................................................................................................... 110
9.5.4 [[PreventExtensions]] ( ) ........................................................................................................... 110
9.5.5 [[GetOwnProperty]] (P) ............................................................................................................. 111
9.5.6 [[DefineOwnProperty]] (P, Desc) .............................................................................................. 111
vi © Ecma International 2015
[[H 9.5.7 asProperty]] (P) .................................................................................................................... 112
9.5.8 [[Get]] (P, Receiver) ................................................................................................................... 113
9.5.9 [[Set]] ( P, V, Receiver) .............................................................................................................. 113
9.5.10 [[Delete]] (P) .............................................................................................................................. 114
9.5.11 [[Enumerate]] () ......................................................................................................................... 114
9.5.12 [[OwnPropertyKeys]] ( ) ............................................................................................................ 114
9.5.13 [[Call]] (thisArgument, argumentsList) .................................................................................... 115
9.5.14 [[Construct]] ( argumentsList, newTarget)............................................................................... 116
9.5.15 ProxyCreate(target, handler) .................................................................................................... 116
10 ECMAScript Language: Source Code ...................................................................................... 116
10.1 Source Text ............................................................................................................................... 116
10.1.1 Static Semantics: UTF16Encoding ( cp ) ................................................................................ 117
10.1.2 Static Semantics: UTF16Decode( lead, trail )........................................................................... 117
10.2 Types of Source Code .............................................................................................................. 117
10.2.1 Strict Mode Code ...................................................................................................................... 118
10.2.2 Non-ECMAScript Functions...................................................................................................... 118
11 ECMAScript Language: Lexical Grammar ............................................................................... 118
11.1 Unicode Format-Control Characters ........................................................................................ 119
11.2 White Space .............................................................................................................................. 120
11.3 Line Terminators ....................................................................................................................... 121
11.4 Comments ................................................................................................................................. 121
11.5 Tokens ....................................................................................................................................... 122
11.6 Names and Keywords ............................................................................................................... 122
11.6.1 Identifier Names ........................................................................................................................ 123
11.6.2 Reserved Words ........................................................................................................................ 124
11.7 Punctuators ............................................................................................................................... 125
11.8 Literals ....................................................................................................................................... 125
11.8.1 Null Literals ............................................................................................................................... 125
11.8.2 Boolean Literals ........................................................................................................................ 125
11.8.3 Numeric Literals ........................................................................................................................ 125
11.8.4 String Literals ............................................................................................................................ 128
11.8.5 Regular Expression Literals ..................................................................................................... 131
11.8.6 Template Literal Lexical Components...................................................................................... 132
11.9 Automatic Semicolon Insertion ................................................................................................ 134
11.9.1 Rules of Automatic Semicolon Insertion ................................................................................. 135
11.9.2 Examples of Automatic Semicolon Insertion........................................................................... 136
12 ECMAScript Language: Expressions ....................................................................................... 137
12.1 Identifiers .................................................................................................................................. 137
12.1.1 Static Semantics: Early Errors ................................................................................................ 137
12.1.2 Static Semantics: BoundNames ............................................................................................... 138
12.1.3 Static Semantics: IsValidSimpleAssignmentTarget ............................................................... 138
12.1.4 Static Semantics: StringValue .................................................................................................. 138
12.1.5 Runtime Semantics: BindingInitialization ................................................................................ 138
12.1.6 Runtime Semantics: Evaluation .............................................................................................. 139
12.2 Primary Expression .................................................................................................................. 139
12.2.1 Semantics .................................................................................................................................. 140
12.2.2 The this Keyword .................................................................................................................... 141
12.2.3 Identifier Reference ................................................................................................................... 141
12.2.4 Literals ....................................................................................................................................... 141
12.2.5 Array Initializer .......................................................................................................................... 142
12.2.6 Object Initializer ........................................................................................................................ 144
12.2.7 Function Defining Expressions ................................................................................................ 148
12.2.8 Regular Expression Literals ..................................................................................................... 148
12.2.9 Template Literals ...................................................................................................................... 148
12.2.10 The Grouping Operator ............................................................................................................. 152
12.3 Left-Hand-Side Expressions ..................................................................................................... 153
12.3.1 Static Semantics ....................................................................................................................... 153
12.3.2 Property Accessors .................................................................................................................. 156
© Ecma International 2015 vii
The 12.3.3 new Operator ...................................................................................................................... 157
12.3.4 Function Calls ........................................................................................................................... 157
12.3.5 The super Keyword .................................................................................................................. 159
12.3.6 Argument Lists .......................................................................................................................... 160
12.3.7 Tagged Templates ..................................................................................................................... 160
12.3.8 Meta Properties ......................................................................................................................... 161
12.4 Postfix Expressions .................................................................................................................. 161
12.4.1 Static Semantics: Early Errors................................................................................................. 161
12.4.2 Static Semantics: IsFunctionDefinition ................................................................................... 161
12.4.3 Static Semantics: IsValidSimpleAssignmentTarget ............................................................... 161
12.4.4 Postfix Increment Operator....................................................................................................... 162
12.4.5 Postfix Decrement Operator ..................................................................................................... 162
12.5 Unary Operators ........................................................................................................................ 162
12.5.1 Static Semantics: Early Errors................................................................................................. 162
12.5.2 Static Semantics: IsFunctionDefinition ................................................................................... 162
12.5.3 Static Semantics: IsValidSimpleAssignmentTarget ............................................................... 163
12.5.4 The delete Operator ................................................................................................................ 163
12.5.5 The void Operator .................................................................................................................... 164
12.5.6 The typeof Operator ................................................................................................................ 164
12.5.7 Prefix Increment Operator ........................................................................................................ 165
12.5.8 Prefix Decrement Operator ....................................................................................................... 165
12.5.9 Unary + Operator ....................................................................................................................... 165
12.5.10 Unary - Operator ....................................................................................................................... 165
12.5.11 Bitwise NOT Operator ( ~ ) ........................................................................................................ 166
12.5.12 Logical NOT Operator ( ! ) ........................................................................................................ 166
12.6 Multiplicative Operators ............................................................................................................ 166
12.6.1 Static Semantics: IsFunctionDefinition ................................................................................... 166
12.6.2 Static Semantics: IsValidSimpleAssignmentTarget ............................................................... 166
12.6.3 Runtime Semantics: Evaluation .............................................................................................. 166
12.7 Additive Operators .................................................................................................................... 168
12.7.1 Static Semantics: IsFunctionDefinition ................................................................................... 168
12.7.2 Static Semantics: IsValidSimpleAssignmentTarget ............................................................... 168
12.7.3 The Addition operator ( + ) ........................................................................................................ 169
12.7.4 The Subtraction Operator ( - ) .................................................................................................. 169
12.7.5 Applying the Additive Operators to Numbers .......................................................................... 169
12.8 Bitwise Shift Operators ............................................................................................................. 170
12.8.1 Static Semantics: IsFunctionDefinition ................................................................................... 170
12.8.2 Static Semantics: IsValidSimpleAssignmentTarget ............................................................... 170
12.8.3 The Left Shift Operator ( << ) .................................................................................................... 170
12.8.4 The Signed Right Shift Operator ( >> ) ..................................................................................... 171
12.8.5 The Unsigned Right Shift Operator ( >>> ) ............................................................................... 171
12.9 Relational Operators ................................................................................................................. 172
12.9.1 Static Semantics: IsFunctionDefinition ................................................................................... 172
12.9.2 Static Semantics: IsValidSimpleAssignmentTarget ............................................................... 172
12.9.3 Runtime Semantics: Evaluation .............................................................................................. 172
12.9.4 Runtime Semantics: InstanceofOperator(O, C) ....................................................................... 174
12.10 Equality Operators .................................................................................................................... 174
12.10.1 Static Semantics: IsFunctionDefinition ................................................................................... 174
12.10.2 Static Semantics: IsValidSimpleAssignmentTarget ............................................................... 174
12.10.3 Runtime Semantics: Evaluation .............................................................................................. 174
12.11 Binary Bitwise Operators .......................................................................................................... 176
12.11.1 Static Semantics: IsFunctionDefinition ................................................................................... 176
12.11.2 Static Semantics: IsValidSimpleAssignmentTarget ............................................................... 176
12.11.3 Runtime Semantics: Evaluation .............................................................................................. 176
12.12 Binary Logical Operators .......................................................................................................... 177
12.12.1 Static Semantics: IsFunctionDefinition ................................................................................... 177
12.12.2 Static Semantics: IsValidSimpleAssignmentTarget ............................................................... 177
12.12.3 Runtime Semantics: Evaluation .............................................................................................. 177
viii © Ecma International 2015
12.13 Conditional Operator ( ? : ) .................................................................................................. 178
Static Semantics: IsFunctionDefinition 12.13.1 ................................................................................... 178
12.13.2 Static Semantics: IsValidSimpleAssignmentTarget ............................................................... 178
12.13.3 Runtime Semantics: Evaluation .............................................................................................. 178
12.14 Assignment Operators .............................................................................................................. 178
12.14.1 Static Semantics: Early Errors ................................................................................................ 179
12.14.2 Static Semantics: IsFunctionDefinition ................................................................................... 179
12.14.3 Static Semantics: IsValidSimpleAssignmentTarget ............................................................... 179
12.14.4 Runtime Semantics: Evaluation .............................................................................................. 179
12.14.5 Destructuring Assignment ....................................................................................................... 180
12.15 Comma Operator ( , ) ............................................................................................................. 185
12.15.1 Static Semantics: IsFunctionDefinition ................................................................................... 185
12.15.2 Static Semantics: IsValidSimpleAssignmentTarget ............................................................... 185
12.15.3 Runtime Semantics: Evaluation .............................................................................................. 186
13 ECMAScript Language: Statements and Declarations ............................................................ 186
13.1 Statement Semantics ................................................................................................................ 186
13.1.1 Static Semantics: ContainsDuplicateLabels ............................................................................ 186
13.1.2 Static Semantics: ContainsUndefinedBreakTarget ................................................................. 187
13.1.3 Static Semantics: ContainsUndefinedContinueTarget ............................................................ 187
13.1.4 Static Semantics: DeclarationPart........................................................................................... 187
13.1.5 Static Semantics: VarDeclaredNames..................................................................................... 188
13.1.6 Static Semantics: VarScopedDeclarations ............................................................................. 188
13.1.7 Runtime Semantics: LabelledEvaluation ............................................................................... 188
13.1.8 Runtime Semantics: Evaluation .............................................................................................. 188
13.2 Block .......................................................................................................................................... 189
13.2.1 Static Semantics: Early Errors ................................................................................................ 189
13.2.2 Static Semantics: ContainsDuplicateLabels ............................................................................ 189
13.2.3 Static Semantics: ContainsUndefinedBreakTarget ................................................................. 189
13.2.4 Static Semantics: ContainsUndefinedContinueTarget ............................................................ 190
13.2.5 Static Semantics: LexicallyDeclaredNames ........................................................................... 190
13.2.6 Static Semantics: LexicallyScopedDeclarations .................................................................... 190
13.2.7 Static Semantics: TopLevelLexicallyDeclaredNames ............................................................ 191
13.2.8 Static Semantics: TopLevelLexicallyScopedDeclarations ..................................................... 191
13.2.9 Static Semantics: TopLevelVarDeclaredNames ..................................................................... 192
13.2.10 Static Semantics: TopLevelVarScopedDeclarations .............................................................. 192
13.2.11 Static Semantics: VarDeclaredNames..................................................................................... 192
13.2.12 Static Semantics: VarScopedDeclarations ............................................................................. 193
13.2.13 Runtime Semantics: Evaluation .............................................................................................. 193
13.2.14 Runtime Semantics: BlockDeclarationInstantiation( code, env ) ........................................... 194
13.3 Declarations and the Variable Statement ................................................................................. 194
13.3.1 Let and Const Declarations ...................................................................................................... 194
13.3.2 Variable Statement .................................................................................................................... 196
13.3.3 Destructuring Binding Patterns................................................................................................ 198
13.4 Empty Statement ....................................................................................................................... 205
13.4.1 Runtime Semantics: Evaluation .............................................................................................. 205
13.5 Expression Statement............................................................................................................... 205
13.5.1 Runtime Semantics: Evaluation .............................................................................................. 205
13.6 The if Statement ...................................................................................................................... 205
13.6.1 Static Semantics: Early Errors ................................................................................................ 205
13.6.2 Static Semantics: ContainsDuplicateLabels ............................................................................ 205
13.6.3 Static Semantics: ContainsUndefinedBreakTarget ................................................................. 206
13.6.4 Static Semantics: ContainsUndefinedContinueTarget ............................................................ 206
13.6.5 Static Semantics: VarDeclaredNames..................................................................................... 206
13.6.6 Static Semantics: VarScopedDeclarations ............................................................................. 206
13.6.7 Runtime Semantics: Evaluation ............................................................................................. 207
13.7 Iteration Statements .................................................................................................................. 207
13.7.1 Semantics .................................................................................................................................. 208
13.7.2 The do-while Statement .......................................................................................................... 208
© Ecma International 2015 ix
The 13.7.3 while Statement ................................................................................................................ 209
13.7.4 The for Statement .................................................................................................................... 210
13.7.5 The for-in and for-of Statements ......................................................................................... 213
13.8 The continue Statement .......................................................................................................... 219
13.8.1 Static Semantics: Early Errors

 ECMAScript® 2015 Language Specification
ecmascript 6
ecmascript شرح
 



سنة النشر : 2015م / 1436هـ .
حجم الكتاب عند التحميل : 11.9 ميجا بايت .
نوع الكتاب : pdf.
عداد القراءة: عدد قراءة ECMAScript® 2015 Language Specification

اذا اعجبك الكتاب فضلاً اضغط على أعجبني
و يمكنك تحميله من هنا:

تحميل ECMAScript® 2015 Language Specification
شكرًا لمساهمتكم

شكراً لمساهمتكم معنا في الإرتقاء بمستوى المكتبة ، يمكنكم االتبليغ عن اخطاء او سوء اختيار للكتب وتصنيفها ومحتواها ، أو كتاب يُمنع نشره ، او محمي بحقوق طبع ونشر ، فضلاً قم بالتبليغ عن الكتاب المُخالف:

برنامج تشغيل ملفات pdfقبل تحميل الكتاب ..
يجب ان يتوفر لديكم برنامج تشغيل وقراءة ملفات pdf
يمكن تحميلة من هنا 'http://get.adobe.com/reader/'