| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]--> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <meta name="generator" content="Asciidoctor 1.5.5"> |
| <meta name="author" content="2019-08-08 13:15:33 CEST"> |
| <title>N4JS Language Specification</title> |
| <link rel="stylesheet" href="styles/spec.min.css"> |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css"> |
| <!-- ************* docinfo ******************************************************************* --> |
| |
| |
| <!-- ************* Favicon ************--> |
| <link rel="icon" href="images/favicon.ico" /> |
| |
| <!-- ************* Back-to-top JQuery ************* --> |
| <script src="https://code.jquery.com/jquery-1.12.4.js"></script> |
| <script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script> |
| |
| |
| <link href="styles/prism.min.css" rel="stylesheet" /> |
| <script type="text/javascript" async |
| src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-MML-AM_CHTML"> |
| </script> |
| |
| <!-- ************* Styles ************* --> |
| <link rel="stylesheet" type="text/css" href="styles/n4jsspec-adoc.css"> |
| |
| |
| <!-- ****************** NavBar ****************** --> |
| <div id="menubar"> |
| <div class="banner"> |
| <a href="https://www.eclipse.org/n4js/#"><img id="logo" src="images/n4js-logo.png" alt="Eclipse N4JS"></a> |
| </div> |
| <ul> |
| <li><a href="index.html">Index</a></li> |
| </ul> |
| </div> |
| <!-- ************* docinfo ******************************************************************* --> |
| <style> |
| .admonitionblock td.icon .icon-todo:before{content:"\f249";color:#f4ee42} |
| </style> |
| </head> |
| <body class="book toc2 toc-left"> |
| <div id="header"> |
| <h1>N4JS Language Specification</h1> |
| <div class="details"> |
| <span id="author" class="author">2019-08-08 13:15:33 CEST</span><br> |
| <span id="revnumber">version 0.9</span> |
| </div> |
| <div id="toc" class="toc2"> |
| <div id="toctitle">Table of Contents</div> |
| <ul class="sectlevel1"> |
| <li><a href="introduction.html#_introduction">1. Introduction</a> |
| <ul class="sectlevel2"> |
| <li><a href="introduction.html#_notation">1.1. Notation</a> |
| <ul class="sectlevel3"> |
| <li><a href="introduction.html#_grammar-notation">1.1.1. Grammar Notation</a></li> |
| <li><a href="introduction.html#_type-judgments-and-rules-and-constraints-notation">1.1.2. Type Judgments and Rules and Constraints Notation</a> |
| <ul class="sectlevel4"> |
| <li><a href="introduction.html#_typing-rules-and-judgments">1.1.2.1. Typing Rules and Judgments</a></li> |
| <li><a href="introduction.html#_types-of-an-element">1.1.2.2. Types of an Element</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="introduction.html#_auxiliary-functions">1.2. Auxiliary Functions</a> |
| <ul class="sectlevel3"> |
| <li><a href="introduction.html#_binding">1.2.1. Binding</a></li> |
| <li><a href="introduction.html#_merging-types">1.2.2. Merging Types</a> |
| <ul class="sectlevel4"> |
| <li><a href="introduction.html#_logic-formulas">1.2.2.1. Logic Formulas</a></li> |
| </ul> |
| </li> |
| <li><a href="introduction.html#_symbols-and-font-convention">1.2.3. Symbols and Font Convention</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="grammar.html#_grammar">2. Grammar</a> |
| <ul class="sectlevel2"> |
| <li><a href="grammar.html#_lexical-conventions">2.1. Lexical Conventions</a> |
| <ul class="sectlevel3"> |
| <li><a href="grammar.html#_identifier-names-and-identifiers">2.1.1. Identifier Names and Identifiers</a></li> |
| <li><a href="grammar.html#_this-keyword">2.1.2. This Keyword</a></li> |
| <li><a href="grammar.html#_regular-expression-literals">2.1.3. Regular Expression Literals</a></li> |
| <li><a href="grammar.html#_automatic-semicolon-insertion">2.1.4. Automatic Semicolon Insertion</a></li> |
| <li><a href="grammar.html#_jsdoc">2.1.5. JSDoc</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="names.html#_names">3. Names</a> |
| <ul class="sectlevel2"> |
| <li><a href="names.html#_access-control">3.1. Access Control</a></li> |
| <li><a href="names.html#_accessibility-of-types-top-level-variables-and-function-declarations">3.2. Accessibility of Types, Top-Level Variables and Function Declarations</a> |
| <ul class="sectlevel3"> |
| <li><a href="names.html#_accessibility-of-members">3.2.1. Accessibility of Members</a></li> |
| <li><a href="names.html#_valid-names">3.2.2. Valid Names</a></li> |
| <li><a href="names.html#_qualified-names">3.2.3. Qualified Names</a></li> |
| <li><a href="names.html#_name-duplicates">3.2.4. Name Duplicates</a> |
| <ul class="sectlevel4"> |
| <li><a href="names.html#_lexical-environment">3.2.4.1. Lexical Environment</a></li> |
| <li><a href="names.html#_duplicates-and-shadowing">3.2.4.2. Duplicates and Shadowing</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="types.html#_types">4. Types</a> |
| <ul class="sectlevel2"> |
| <li><a href="types.html#_overview">4.1. Overview</a></li> |
| <li><a href="types.html#_type-expressions">4.2. Type Expressions</a> |
| <ul class="sectlevel3"> |
| <li><a href="types.html#_syntax">4.2.1. Syntax</a></li> |
| <li><a href="types.html#_properties">4.2.2. Properties</a></li> |
| <li><a href="types.html#_semantics">4.2.3. Semantics</a></li> |
| </ul> |
| </li> |
| <li><a href="types.html#_type-inference">4.3. Type Inference</a></li> |
| <li><a href="types.html#_generic-and-parameterized-types">4.4. Generic and Parameterized Types</a> |
| <ul class="sectlevel3"> |
| <li><a href="types.html#_generic-types">4.4.1. Generic Types</a></li> |
| <li><a href="types.html#_type-variables">4.4.2. Type Variables</a></li> |
| <li><a href="types.html#_parameterized-types">4.4.3. Parameterized Types</a></li> |
| </ul> |
| </li> |
| <li><a href="types.html#_primitive-ecmascript-types">4.5. Primitive ECMAScript Types</a> |
| <ul class="sectlevel3"> |
| <li><a href="types.html#_undefined-type">4.5.1. Undefined Type</a></li> |
| <li><a href="types.html#_null-type">4.5.2. Null Type</a></li> |
| <li><a href="types.html#_primitive-boolean-type">4.5.3. Primitive Boolean Type</a></li> |
| <li><a href="types.html#_primitive-string-type">4.5.4. Primitive String Type</a></li> |
| <li><a href="types.html#_primitive-number-type">4.5.5. Primitive Number Type</a></li> |
| <li><a href="types.html#_primitive-type-int">4.5.6. Primitive Type int</a></li> |
| <li><a href="types.html#_primitive-symbol-type">4.5.7. Primitive Symbol Type</a></li> |
| </ul> |
| </li> |
| <li><a href="types.html#_primitive-n4js-types">4.6. Primitive N4JS Types</a> |
| <ul class="sectlevel3"> |
| <li><a href="types.html#_any-type">4.6.1. Any Type</a> |
| <ul class="sectlevel4"> |
| <li><a href="types.html#any-type-semantics">4.6.1.1. Semantics</a></li> |
| <li><a href="types.html#any-type-type-inference">4.6.1.2. Type Inference</a> |
| <ul class="sectlevel5"> |
| <li><a href="types.html#_default-type-of-variables">4.6.1.2.1. Default Type of Variables</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="types.html#_void-type">4.6.2. Void Type</a> |
| <ul class="sectlevel4"> |
| <li><a href="types.html#void-type-semantics">4.6.2.1. Semantics</a></li> |
| </ul> |
| </li> |
| <li><a href="types.html#_unknown-type">4.6.3. Unknown Type</a></li> |
| <li><a href="types.html#_primitive-pathselector-and-i18nkey">4.6.4. Primitive Pathselector and I18nKey</a> |
| <ul class="sectlevel4"> |
| <li><a href="types.html#pathselector-semantics">4.6.4.1. Semantics</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="types.html#_built-in-ecmascript-object-types">4.7. Built-in ECMAScript Object Types</a> |
| <ul class="sectlevel3"> |
| <li><a href="types.html#ECMAScript-objects-semantics">4.7.1. Semantics</a></li> |
| <li><a href="types.html#_object-type">4.7.2. Object Type</a></li> |
| <li><a href="types.html#_function-object-type">4.7.3. Function-Object-Type</a></li> |
| <li><a href="types.html#_array-object-type">4.7.4. Array Object Type</a></li> |
| <li><a href="types.html#_string-object-type">4.7.5. String Object Type</a></li> |
| <li><a href="types.html#_boolean-object-type">4.7.6. Boolean Object Type</a></li> |
| <li><a href="types.html#_number-object-type">4.7.7. Number Object Type</a></li> |
| <li><a href="types.html#_global-object-type">4.7.8. Global Object Type</a></li> |
| <li><a href="types.html#_symbol">4.7.9. Symbol</a></li> |
| <li><a href="types.html#_promise">4.7.10. Promise</a></li> |
| <li><a href="types.html#_iterator-interface">4.7.11. Iterator Interface</a></li> |
| <li><a href="types.html#_iterable-interface">4.7.12. Iterable Interface</a></li> |
| </ul> |
| </li> |
| <li><a href="types.html#_built-in-n4js-types">4.8. Built-In N4JS Types</a> |
| <ul class="sectlevel3"> |
| <li><a href="types.html#_n4object">4.8.1. N4Object</a> |
| <ul class="sectlevel4"> |
| <li><a href="types.html#N4Object-semantics">4.8.1.1. Semantics</a></li> |
| </ul> |
| </li> |
| <li><a href="types.html#_n4class">4.8.2. N4Class</a></li> |
| <li><a href="types.html#IterableN">4.8.3. IterableN</a></li> |
| </ul> |
| </li> |
| <li><a href="types.html#_type-modifiers">4.9. Type Modifiers</a> |
| <ul class="sectlevel3"> |
| <li><a href="types.html#Type_Modifiers_Dynamic">4.9.1. Dynamic</a></li> |
| <li><a href="types.html#_optional-return-types">4.9.2. Optional Return Types</a></li> |
| </ul> |
| </li> |
| <li><a href="types.html#_union-and-intersection-type-composed-types">4.10. Union and Intersection Type (Composed Types)</a> |
| <ul class="sectlevel3"> |
| <li><a href="types.html#_union-type">4.10.1. Union Type</a> |
| <ul class="sectlevel4"> |
| <li><a href="types.html#union-type-syntax">4.10.1.1. Syntax</a></li> |
| <li><a href="types.html#union-type-semantics">4.10.1.2. Semantics</a></li> |
| <li><a href="types.html#_warnings">4.10.1.3. Warnings</a></li> |
| </ul> |
| </li> |
| <li><a href="types.html#_intersection-type">4.10.2. Intersection Type</a> |
| <ul class="sectlevel4"> |
| <li><a href="types.html#intersection-type-syntax">4.10.2.1. Syntax</a></li> |
| <li><a href="types.html#intersection-type-semantics">4.10.2.2. Semantics</a></li> |
| <li><a href="types.html#_warnings-2">4.10.2.3. Warnings</a></li> |
| </ul> |
| </li> |
| <li><a href="types.html#_composed-types-in-wildcards">4.10.3. Composed Types in Wildcards</a></li> |
| <li><a href="types.html#_property-access-for-composed-types">4.10.4. Property Access for Composed Types</a> |
| <ul class="sectlevel4"> |
| <li><a href="types.html#_properties-of-union-type">4.10.4.1. Properties of Union Type</a> |
| <ul class="sectlevel5"> |
| <li><a href="types.html#_remarks-on-union-type-s-members">4.10.4.1.1. Remarks on union type’s members:</a></li> |
| </ul> |
| </li> |
| <li><a href="types.html#_properties-of-intersection-type">4.10.4.2. Properties of Intersection Type</a> |
| <ul class="sectlevel5"> |
| <li><a href="types.html#_remarks-on-intersection-type-s-methods">4.10.4.2.1. Remarks on intersection type’s methods:</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="types.html#_constructor-and-classifier-type">4.11. Constructor and Classifier Type</a> |
| <ul class="sectlevel3"> |
| <li><a href="types.html#_syntax-3">4.11.1. Syntax</a></li> |
| <li><a href="types.html#_semantics-2">4.11.2. Semantics</a></li> |
| <li><a href="types.html#_constructors-and-prototypes-in-ecmascript-2015">4.11.3. Constructors and Prototypes in ECMAScript 2015</a></li> |
| </ul> |
| </li> |
| <li><a href="types.html#_this-type">4.12. This Type</a> |
| <ul class="sectlevel3"> |
| <li><a href="types.html#this-type-syntax">4.12.1. Syntax</a></li> |
| <li><a href="types.html#this-keyword-semantics">4.12.2. Semantics</a></li> |
| </ul> |
| </li> |
| <li><a href="types.html#_enums">4.13. Enums</a> |
| <ul class="sectlevel3"> |
| <li><a href="types.html#_enums-n4js">4.13.1. Enums (N4JS)</a> |
| <ul class="sectlevel4"> |
| <li><a href="types.html#enums-syntax">4.13.1.1. Syntax</a></li> |
| <li><a href="types.html#enums-semantics">4.13.1.2. Semantics</a></li> |
| </ul> |
| </li> |
| <li><a href="types.html#_string-based-enums">4.13.2. String-Based Enums</a></li> |
| </ul> |
| </li> |
| <li><a href="types.html#_short-hand-syntax">4.14. Short-Hand Syntax</a> |
| <ul class="sectlevel3"> |
| <li><a href="types.html#_array-short-hand-syntax">4.14.1. Array Short-Hand Syntax</a></li> |
| <li><a href="types.html#_iterablen-short-hand-syntax">4.14.2. IterableN Short-Hand Syntax</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="classifiers.html#_classifiers">5. Classifiers</a> |
| <ul class="sectlevel2"> |
| <li><a href="classifiers.html#_n4js-specific-classifiers">5.1. N4JS Specific Classifiers</a> |
| <ul class="sectlevel3"> |
| <li><a href="classifiers.html#_properties-2">5.1.1. Properties</a></li> |
| <li><a href="classifiers.html#_common-semantics-of-classifiers">5.1.2. Common Semantics of Classifiers</a></li> |
| <li><a href="classifiers.html#_classes">5.1.3. Classes</a> |
| <ul class="sectlevel4"> |
| <li><a href="classifiers.html#_definition-of-classes">5.1.3.1. Definition of Classes</a> |
| <ul class="sectlevel5"> |
| <li><a href="classifiers.html#class-syntax">5.1.3.1.1. Syntax</a></li> |
| <li><a href="classifiers.html#class-properties">5.1.3.1.2. Properties</a></li> |
| <li><a href="classifiers.html#class-type-inference">5.1.3.1.3. Type Inference</a></li> |
| </ul> |
| </li> |
| <li><a href="classifiers.html#class-semantics">5.1.3.2. Semantics</a></li> |
| <li><a href="classifiers.html#_final-modifier">5.1.3.3. Final Modifier</a></li> |
| <li><a href="classifiers.html#_abstract-classes">5.1.3.4. Abstract Classes</a></li> |
| <li><a href="classifiers.html#_non-instantiable-classes">5.1.3.5. Non-Instantiable Classes</a></li> |
| <li><a href="classifiers.html#_superclass">5.1.3.6. Superclass</a></li> |
| </ul> |
| </li> |
| <li><a href="classifiers.html#_interfaces">5.1.4. Interfaces</a> |
| <ul class="sectlevel4"> |
| <li><a href="classifiers.html#_definition-of-interfaces">5.1.4.1. Definition of Interfaces</a> |
| <ul class="sectlevel5"> |
| <li><a href="classifiers.html#interfaces-syntax">5.1.4.1.1. Syntax</a></li> |
| <li><a href="classifiers.html#interfaces-properties">5.1.4.1.2. Properties</a></li> |
| <li><a href="classifiers.html#interfaces-type-inference">5.1.4.1.3. Type Inference</a></li> |
| <li><a href="classifiers.html#interfaces-semantics">5.1.4.1.4. Semantics</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="classifiers.html#_generic-classifiers">5.1.5. Generic Classifiers</a></li> |
| <li><a href="classifiers.html#sec:definition-site-variance">5.1.6. Definition-Site Variance</a></li> |
| </ul> |
| </li> |
| <li><a href="classifiers.html#_members">5.2. Members</a> |
| <ul class="sectlevel3"> |
| <li><a href="classifiers.html#_syntax-4">5.2.1. Syntax</a> |
| <ul class="sectlevel4"> |
| <li><a href="classifiers.html#_properties-3">5.2.1.1. Properties</a></li> |
| </ul> |
| </li> |
| <li><a href="classifiers.html#_semantics-3">5.2.2. Semantics</a></li> |
| <li><a href="classifiers.html#_methods">5.2.3. Methods</a> |
| <ul class="sectlevel4"> |
| <li><a href="classifiers.html#_syntax-5">5.2.3.1. Syntax</a></li> |
| <li><a href="classifiers.html#_properties-4">5.2.3.2. Properties</a></li> |
| <li><a href="classifiers.html#_semantics-4">5.2.3.3. Semantics</a></li> |
| <li><a href="classifiers.html#_final-methods">5.2.3.4. Final Methods</a></li> |
| <li><a href="classifiers.html#_abstract-methods">5.2.3.5. Abstract Methods</a></li> |
| <li><a href="classifiers.html#_generic-methods">5.2.3.6. Generic Methods</a></li> |
| </ul> |
| </li> |
| <li><a href="classifiers.html#_default-methods-in-interfaces">5.2.4. Default Methods in Interfaces</a> |
| <ul class="sectlevel4"> |
| <li><a href="classifiers.html#_asynchronous-methods">5.2.4.1. Asynchronous Methods</a></li> |
| </ul> |
| </li> |
| <li><a href="classifiers.html#_constructors">5.2.5. Constructors</a> |
| <ul class="sectlevel4"> |
| <li><a href="classifiers.html#_structural-this-type-in-constructor">5.2.5.1. Structural This Type in Constructor</a></li> |
| <li><a href="classifiers.html#spec-constructor">5.2.5.2. @Spec Constructor</a></li> |
| <li><a href="classifiers.html#_callable-constructors">5.2.5.3. Callable Constructors</a></li> |
| <li><a href="classifiers.html#_covariant-constructors">5.2.5.4. Covariant Constructors</a></li> |
| </ul> |
| </li> |
| <li><a href="classifiers.html#_data-fields">5.2.6. Data Fields</a> |
| <ul class="sectlevel4"> |
| <li><a href="classifiers.html#data-fields-syntax">5.2.6.1. Syntax</a></li> |
| <li><a href="classifiers.html#data-fields-properties">5.2.6.2. Properties</a> |
| <ul class="sectlevel5"> |
| <li><a href="classifiers.html#data-fields-semantics">5.2.6.2.1. Semantics</a></li> |
| <li><a href="classifiers.html#data-fields-type-inference">5.2.6.2.2. Type Inference</a></li> |
| </ul> |
| </li> |
| <li><a href="classifiers.html#_assignment-modifiers">5.2.6.3. Assignment Modifiers</a></li> |
| <li><a href="classifiers.html#_field-accessors-getter-setter">5.2.6.4. Field Accessors (Getter/Setter)</a> |
| <ul class="sectlevel5"> |
| <li><a href="classifiers.html#field-acessors-syntax">5.2.6.4.1. Syntax</a></li> |
| <li><a href="classifiers.html#field-acessors-properties">5.2.6.4.2. Properties</a></li> |
| <li><a href="classifiers.html#field-accessors-semantics">5.2.6.4.3. Semantics</a></li> |
| </ul> |
| </li> |
| <li><a href="classifiers.html#optional-fields">5.2.6.5. Optional Fields</a> |
| <ul class="sectlevel5"> |
| <li><a href="classifiers.html#_syntax-6">5.2.6.5.1. Syntax</a></li> |
| <li><a href="classifiers.html#_semantics-5">5.2.6.5.2. Semantics</a></li> |
| <li><a href="classifiers.html#_background">5.2.6.5.3. Background</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="classifiers.html#_static-members">5.2.7. Static Members</a> |
| <ul class="sectlevel4"> |
| <li><a href="classifiers.html#_access-from-and-to-static-members">5.2.7.1. Access From and To Static Members</a></li> |
| <li><a href="classifiers.html#_generic-static-methods">5.2.7.2. Generic static methods</a></li> |
| <li><a href="classifiers.html#_static-members-of-interfaces">5.2.7.3. Static Members of Interfaces</a></li> |
| </ul> |
| </li> |
| <li><a href="classifiers.html#_redefinition-of-members">5.2.8. Redefinition of Members</a> |
| <ul class="sectlevel4"> |
| <li><a href="classifiers.html#_overriding-of-members">5.2.8.1. Overriding of Members</a></li> |
| <li><a href="classifiers.html#_implementation-of-members">5.2.8.2. Implementation of Members</a> |
| <ul class="sectlevel5"> |
| <li><a href="classifiers.html#_member-consumption">5.2.8.2.1. Member Consumption</a></li> |
| <li><a href="classifiers.html#_member-implementation">5.2.8.2.2. Member Implementation</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="classifiers.html#_structural-typing">5.3. Structural Typing</a> |
| <ul class="sectlevel3"> |
| <li><a href="classifiers.html#_syntax-7">5.3.1. Syntax</a></li> |
| <li><a href="classifiers.html#_definition-site-structural-typing">5.3.2. Definition Site Structural Typing</a></li> |
| <li><a href="classifiers.html#_use-site-structural-typing">5.3.3. Use-Site Structural Typing</a></li> |
| <li><a href="classifiers.html#structural-readWriteInit-field-typing">5.3.4. Structural Read-only, Write-only and Initializer Field Typing</a></li> |
| <li><a href="classifiers.html#_public-setter-annotated-with-code-providesinitializer-code">5.3.5. Public Setter Annotated With <code>ProvidesInitializer</code></a></li> |
| <li><a href="classifiers.html#_structural-types-with-optional-fields">5.3.6. Structural Types With Optional Fields</a></li> |
| <li><a href="classifiers.html#_structural-types-with-access-modifier">5.3.7. Structural Types With Access Modifier</a></li> |
| <li><a href="classifiers.html#_structural-types-with-additional-members">5.3.8. Structural Types With Additional Members</a> |
| <ul class="sectlevel4"> |
| <li><a href="classifiers.html#_syntax-8">5.3.8.1. Syntax</a> |
| <ul class="sectlevel5"> |
| <li><a href="classifiers.html#_semantics-6">5.3.8.1.1. Semantics</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="functions.html#_functions">6. Functions</a> |
| <ul class="sectlevel2"> |
| <li><a href="functions.html#_function-type">6.1. Function Type</a> |
| <ul class="sectlevel3"> |
| <li><a href="functions.html#_properties-5">6.1.1. Properties</a></li> |
| <li><a href="functions.html#function-type-inference">6.1.2. Type Inference</a></li> |
| <li><a href="functions.html#_autoboxing-of-function-type">6.1.3. Autoboxing of Function Type</a></li> |
| <li><a href="functions.html#_arguments-object">6.1.4. Arguments Object</a></li> |
| </ul> |
| </li> |
| <li><a href="functions.html#_ecmascript-5-function-definition">6.2. ECMAScript 5 Function Definition</a> |
| <ul class="sectlevel3"> |
| <li><a href="functions.html#_function-declaration">6.2.1. Function Declaration</a> |
| <ul class="sectlevel4"> |
| <li><a href="functions.html#_syntax-9">6.2.1.1. Syntax</a></li> |
| <li><a href="functions.html#_semantics-8">6.2.1.2. Semantics</a></li> |
| </ul> |
| </li> |
| <li><a href="functions.html#_function-expression">6.2.2. Function Expression</a> |
| <ul class="sectlevel4"> |
| <li><a href="functions.html#function-expression-syntax">6.2.2.1. Syntax</a></li> |
| <li><a href="functions.html#_semantics-and-type-inference">6.2.2.2. Semantics and Type Inference</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="functions.html#_ecmascript-2015-function-definition">6.3. ECMAScript 2015 Function Definition</a> |
| <ul class="sectlevel3"> |
| <li><a href="functions.html#_formal-parameters">6.3.1. Formal Parameters</a> |
| <ul class="sectlevel4"> |
| <li><a href="functions.html#Type_Modifiers_Optional">6.3.1.1. Optional Parameters</a></li> |
| <li><a href="functions.html#Type_Modifiers_Default">6.3.1.2. Default Parameters</a></li> |
| <li><a href="functions.html#Type_Modifiers_Variadic">6.3.1.3. Variadic</a></li> |
| </ul> |
| </li> |
| <li><a href="functions.html#_generator-functions">6.3.2. Generator Functions</a> |
| <ul class="sectlevel4"> |
| <li><a href="functions.html#generator-functions-syntax">6.3.2.1. Syntax</a></li> |
| <li><a href="functions.html#generator-functions-semantics">6.3.2.2. Semantics</a></li> |
| <li><a href="functions.html#_generator-arrow-functions">6.3.2.3. Generator Arrow Functions</a></li> |
| </ul> |
| </li> |
| <li><a href="functions.html#_arrow-function-expression">6.3.3. Arrow Function Expression</a> |
| <ul class="sectlevel4"> |
| <li><a href="functions.html#arrow-function-expression-syntax">6.3.3.1. Syntax</a></li> |
| <li><a href="functions.html#arrow-function-expression-semantics-and-type-inference">6.3.3.2. Semantics and Type Inference</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="functions.html#_ecmascript-proposals-function-definition">6.4. ECMAScript Proposals Function Definition</a> |
| <ul class="sectlevel3"> |
| <li><a href="functions.html#_asynchronous-functions">6.4.1. Asynchronous Functions</a> |
| <ul class="sectlevel4"> |
| <li><a href="functions.html#asynchronous-functions-syntax">6.4.1.1. Syntax</a></li> |
| <li><a href="functions.html#asynchronous-functions-semantics">6.4.1.2. Semantics</a></li> |
| <li><a href="functions.html#_asynchronous-arrow-functions">6.4.1.3. Asynchronous Arrow Functions</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="functions.html#_n4js-extended-function-definition">6.5. N4JS Extended Function Definition</a> |
| <ul class="sectlevel3"> |
| <li><a href="functions.html#_generic-functions">6.5.1. Generic Functions</a></li> |
| <li><a href="functions.html#_promisifiable-functions">6.5.2. Promisifiable Functions</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="conversions_and_reflection.html#_conversions-and-reflection">7. Conversions and Reflection</a> |
| <ul class="sectlevel2"> |
| <li><a href="conversions_and_reflection.html#_autoboxing-and-coercing">7.1. Autoboxing and Coercing</a> |
| <ul class="sectlevel3"> |
| <li><a href="conversions_and_reflection.html#_coercing">7.1.1. Coercing</a></li> |
| <li><a href="conversions_and_reflection.html#_autoboxing-of-primitives">7.1.2. Autoboxing of Primitives</a></li> |
| <li><a href="conversions_and_reflection.html#_autoboxing-of-function-expressions-and-declarations">7.1.3. Autoboxing of Function Expressions and Declarations</a></li> |
| </ul> |
| </li> |
| <li><a href="conversions_and_reflection.html#_auto-conversion-of-objects">7.2. Auto-Conversion of Objects</a> |
| <ul class="sectlevel3"> |
| <li><a href="conversions_and_reflection.html#_auto-conversion-of-class-instances">7.2.1. Auto-Conversion of Class Instances</a> |
| <ul class="sectlevel4"> |
| <li><a href="conversions_and_reflection.html#_auto-conversion-of-interface-instances">7.2.1.1. Auto-Conversion of Interface Instances</a></li> |
| </ul> |
| </li> |
| <li><a href="conversions_and_reflection.html#_auto-conversion-of-enum-literals">7.2.2. Auto-Conversion of Enum Literals</a></li> |
| </ul> |
| </li> |
| <li><a href="conversions_and_reflection.html#_type-cast-and-type-check">7.3. Type Cast and Type Check</a> |
| <ul class="sectlevel3"> |
| <li><a href="conversions_and_reflection.html#_type-cast">7.3.1. Type Cast</a></li> |
| <li><a href="conversions_and_reflection.html#_type-check">7.3.2. Type Check</a></li> |
| </ul> |
| </li> |
| <li><a href="conversions_and_reflection.html#_reflection-meta-information">7.4. Reflection meta-information</a> |
| <ul class="sectlevel3"> |
| <li><a href="conversions_and_reflection.html#_reflection-for-classes">7.4.1. Reflection for Classes</a></li> |
| <li><a href="conversions_and_reflection.html#_reflection-for-interfaces">7.4.2. Reflection for Interfaces</a></li> |
| <li><a href="conversions_and_reflection.html#_reflection-for-enumerations">7.4.3. Reflection for Enumerations</a></li> |
| </ul> |
| </li> |
| <li><a href="conversions_and_reflection.html#_conversion-of-primitive-types">7.5. Conversion of primitive types</a></li> |
| </ul> |
| </li> |
| <li><a href="expressions.html#_expressions">8. Expressions</a> |
| <ul class="sectlevel2"> |
| <li><a href="expressions.html#_ecmascript-5-expressions">8.1. ECMAScript 5 Expressions</a> |
| <ul class="sectlevel3"> |
| <li><a href="expressions.html#_the-this-literal">8.1.1. The this Literal</a></li> |
| <li><a href="expressions.html#_identifier">8.1.2. Identifier</a></li> |
| <li><a href="expressions.html#_literals">8.1.3. Literals</a> |
| <ul class="sectlevel4"> |
| <li><a href="expressions.html#_integer-literals">8.1.3.1. Integer Literals</a></li> |
| </ul> |
| </li> |
| <li><a href="expressions.html#_array-literal">8.1.4. Array Literal</a></li> |
| <li><a href="expressions.html#_object-literal">8.1.5. Object Literal</a> |
| <ul class="sectlevel4"> |
| <li><a href="expressions.html#_properties-6">8.1.5.1. Properties</a></li> |
| <li><a href="expressions.html#_scoping-and-linking">8.1.5.2. Scoping and linking</a></li> |
| </ul> |
| </li> |
| <li><a href="expressions.html#_parenthesized-expression-and-grouping-operator">8.1.6. Parenthesized Expression and Grouping Operator</a></li> |
| <li><a href="expressions.html#_property-accessors">8.1.7. Property Accessors</a> |
| <ul class="sectlevel4"> |
| <li><a href="expressions.html#properties-1">8.1.7.1. Properties</a></li> |
| </ul> |
| </li> |
| <li><a href="expressions.html#_new-expression">8.1.8. New Expression</a></li> |
| <li><a href="expressions.html#_function-expression-2">8.1.9. Function Expression</a></li> |
| <li><a href="expressions.html#_function-calls">8.1.10. Function Calls</a></li> |
| <li><a href="expressions.html#_postfix-expression">8.1.11. Postfix Expression</a></li> |
| <li><a href="expressions.html#_unary-expression">8.1.12. Unary Expression</a></li> |
| <li><a href="expressions.html#_multiplicative-expression">8.1.13. Multiplicative Expression</a></li> |
| <li><a href="expressions.html#_additive-expression">8.1.14. Additive Expression</a> |
| <ul class="sectlevel4"> |
| <li><a href="expressions.html#type-inference-10">8.1.14.1. Type Inference</a></li> |
| </ul> |
| </li> |
| <li><a href="expressions.html#_bitwise-shift-expression">8.1.15. Bitwise Shift Expression</a></li> |
| <li><a href="expressions.html#_relational-expression">8.1.16. Relational Expression</a></li> |
| <li><a href="expressions.html#_equality-expression">8.1.17. Equality Expression</a></li> |
| <li><a href="expressions.html#_binary-bitwise-expression">8.1.18. Binary Bitwise Expression</a></li> |
| <li><a href="expressions.html#_binary-logical-expression">8.1.19. Binary Logical Expression</a></li> |
| <li><a href="expressions.html#_conditional-expression">8.1.20. Conditional Expression</a></li> |
| <li><a href="expressions.html#_assignment-expression">8.1.21. Assignment Expression</a></li> |
| <li><a href="expressions.html#_comma-expression">8.1.22. Comma Expression</a></li> |
| </ul> |
| </li> |
| <li><a href="expressions.html#_ecmascript-6-expressions">8.2. ECMAScript 6 Expressions</a> |
| <ul class="sectlevel3"> |
| <li><a href="expressions.html#_the-super-keyword">8.2.1. The super Keyword</a></li> |
| </ul> |
| </li> |
| <li><a href="expressions.html#_ecmascript-7-expressions">8.3. ECMAScript 7 Expressions</a> |
| <ul class="sectlevel3"> |
| <li><a href="expressions.html#_await-expression">8.3.1. Await Expression</a></li> |
| </ul> |
| </li> |
| <li><a href="expressions.html#_n4js-specific-expressions">8.4. N4JS Specific Expressions</a> |
| <ul class="sectlevel3"> |
| <li><a href="expressions.html#_class-expression">8.4.1. Class Expression</a></li> |
| <li><a href="expressions.html#_cast-as-expression">8.4.2. Cast (As) Expression</a> |
| <ul class="sectlevel4"> |
| <li><a href="expressions.html#cast-as-expression-semantics-type-inference">8.4.2.1. Semantics and Type Inference</a></li> |
| </ul> |
| </li> |
| <li><a href="expressions.html#Import_Calls">8.4.3. Import Calls</a></li> |
| </ul> |
| </li> |
| <li><a href="expressions.html#compile-time-expressions">8.5. Compile-Time Expressions</a></li> |
| </ul> |
| </li> |
| <li><a href="statements.html#_statements">9. Statements</a> |
| <ul class="sectlevel2"> |
| <li><a href="statements.html#_ecmascript-5-statements">9.1. ECMAScript 5 Statements</a> |
| <ul class="sectlevel3"> |
| <li><a href="statements.html#_function-or-field-accessor-bodies">9.1.1. Function or Field Accessor Bodies</a></li> |
| <li><a href="statements.html#_variable-statement">9.1.2. Variable Statement</a></li> |
| <li><a href="statements.html#_if-statement">9.1.3. If Statement</a></li> |
| <li><a href="statements.html#_iteration-statements">9.1.4. Iteration Statements</a></li> |
| <li><a href="statements.html#_return-statement">9.1.5. Return Statement</a></li> |
| <li><a href="statements.html#_with-statement">9.1.6. With Statement</a></li> |
| <li><a href="statements.html#_switch-statement">9.1.7. Switch Statement</a></li> |
| <li><a href="statements.html#_throw-try-and-catch-statements">9.1.8. Throw, Try, and Catch Statements</a></li> |
| <li><a href="statements.html#_debugger-statement">9.1.9. Debugger Statement</a></li> |
| </ul> |
| </li> |
| <li><a href="statements.html#_ecmascript-6-statements">9.2. ECMAScript 6 Statements</a> |
| <ul class="sectlevel3"> |
| <li><a href="statements.html#_let">9.2.1. Let</a></li> |
| <li><a href="statements.html#_const">9.2.2. Const</a></li> |
| <li><a href="statements.html#_for-of-statement">9.2.3. <code>for …​ of</code> statement</a></li> |
| <li><a href="statements.html#_import-statement">9.2.4. Import Statement</a> |
| <ul class="sectlevel4"> |
| <li><a href="statements.html#Dynamic_Imports">9.2.4.1. Dynamic Imports</a></li> |
| <li><a href="statements.html#_immutabilaty-of-imports">9.2.4.2. Immutabilaty of Imports</a></li> |
| </ul> |
| </li> |
| <li><a href="statements.html#_export-statement">9.2.5. Export Statement</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="annotations.html#_annotations">10. Annotations</a> |
| <ul class="sectlevel2"> |
| <li><a href="annotations.html#_introduction-2">10.1. Introduction</a> |
| <ul class="sectlevel3"> |
| <li><a href="annotations.html#_syntax-13">10.1.1. Syntax</a></li> |
| <li><a href="annotations.html#_properties-7">10.1.2. Properties</a></li> |
| <li><a href="annotations.html#_element-specific-annotations">10.1.3. Element-Specific Annotations</a></li> |
| <li><a href="annotations.html#_general-annotations">10.1.4. General Annotations</a> |
| <ul class="sectlevel4"> |
| <li><a href="annotations.html#_idebug">10.1.4.1. IDEBUG</a></li> |
| </ul> |
| </li> |
| <li><a href="annotations.html#idebug-syntax">10.1.5. Syntax</a> |
| <ul class="sectlevel4"> |
| <li><a href="annotations.html#_semantics-11">10.1.5.1. Semantics</a></li> |
| <li><a href="annotations.html#_suppress-warnings">10.1.5.2. Suppress Warnings</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="annotations.html#_declaration-of-annotations">10.2. Declaration of Annotations</a></li> |
| </ul> |
| </li> |
| <li><a href="extended_fetaures.html#_extended-fetaures">11. Extended Fetaures</a> |
| <ul class="sectlevel2"> |
| <li><a href="extended_fetaures.html#_array-and-object-destructuring">11.1. Array and Object Destructuring</a> |
| <ul class="sectlevel3"> |
| <li><a href="extended_fetaures.html#_syntax-14">11.1.1. Syntax</a></li> |
| <li><a href="extended_fetaures.html#_semantics-12">11.1.2. Semantics</a></li> |
| </ul> |
| </li> |
| <li><a href="extended_fetaures.html#_dependency-injection">11.2. Dependency Injection</a> |
| <ul class="sectlevel3"> |
| <li><a href="extended_fetaures.html#_di-components-and-injectors">11.2.1. DI Components and Injectors</a> |
| <ul class="sectlevel4"> |
| <li><a href="extended_fetaures.html#_dicomponent-relations">11.2.1.1. DIComponent Relations</a></li> |
| </ul> |
| </li> |
| <li><a href="extended_fetaures.html#_binders-and-bindings">11.2.2. Binders and Bindings</a></li> |
| <li><a href="extended_fetaures.html#_injection-points">11.2.3. Injection Points</a> |
| <ul class="sectlevel4"> |
| <li><a href="extended_fetaures.html#_field-injection">11.2.3.1. Field Injection</a></li> |
| <li><a href="extended_fetaures.html#_constructor-injection">11.2.3.2. Constructor Injection</a></li> |
| <li><a href="extended_fetaures.html#_method-injection">11.2.3.3. Method Injection</a> |
| <ul class="sectlevel5"> |
| <li><a href="extended_fetaures.html#_provider">11.2.3.3.1. Provider</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="extended_fetaures.html#_n4js-di-life-cycle-and-scopes">11.2.4. N4JS DI Life Cycle and Scopes</a> |
| <ul class="sectlevel4"> |
| <li><a href="extended_fetaures.html#_injection-cylces">11.2.4.1. Injection Cylces</a></li> |
| <li><a href="extended_fetaures.html#_default-scope">11.2.4.2. Default Scope</a></li> |
| <li><a href="extended_fetaures.html#_singleton-scope">11.2.4.3. Singleton Scope</a></li> |
| <li><a href="extended_fetaures.html#_per-injection-chain-singleton">11.2.4.4. Per Injection Chain Singleton</a></li> |
| </ul> |
| </li> |
| <li><a href="extended_fetaures.html#_validation-of-callsites-targeting-n4injector-methods">11.2.5. Validation of callsites targeting N4Injector methods</a></li> |
| <li><a href="extended_fetaures.html#_n4js-di-annotations">11.2.6. N4JS DI Annotations</a> |
| <ul class="sectlevel4"> |
| <li><a href="extended_fetaures.html#_n4js-di-generateinjector">11.2.6.1. N4JS DI @GenerateInjector</a></li> |
| <li><a href="extended_fetaures.html#_n4js-di-withparentinjector">11.2.6.2. N4JS DI @WithParentInjector</a></li> |
| <li><a href="extended_fetaures.html#_n4js-di-usebinder">11.2.6.3. N4JS DI @UseBinder</a></li> |
| <li><a href="extended_fetaures.html#_n4js-di-binder">11.2.6.4. N4JS DI @Binder</a></li> |
| <li><a href="extended_fetaures.html#_n4js-di-bind">11.2.6.5. N4JS DI @Bind</a></li> |
| <li><a href="extended_fetaures.html#_n4js-di-provides">11.2.6.6. N4JS DI @Provides</a></li> |
| <li><a href="extended_fetaures.html#_n4js-di-inject">11.2.6.7. N4JS DI @Inject</a></li> |
| <li><a href="extended_fetaures.html#_n4js-di-singleton">11.2.6.8. N4JS DI @Singleton</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="extended_fetaures.html#_test-support">11.3. Test Support</a></li> |
| <li><a href="extended_fetaures.html#_polyfill-definitions">11.4. Polyfill Definitions</a> |
| <ul class="sectlevel3"> |
| <li><a href="extended_fetaures.html#_runtime-polyfill-definitions">11.4.1. Runtime Polyfill Definitions</a></li> |
| <li><a href="extended_fetaures.html#_static-polyfill-definitions">11.4.2. Static Polyfill Definitions</a></li> |
| <li><a href="extended_fetaures.html#_transpiling-static-polyfilled-classes">11.4.3. Transpiling static polyfilled classes</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="components.html#_components">12. Components</a> |
| <ul class="sectlevel2"> |
| <li><a href="components.html#_overview-2">12.1. Overview</a></li> |
| <li><a href="components.html#Component_Types">12.2. Component Types</a> |
| <ul class="sectlevel3"> |
| <li><a href="components.html#_libraries">12.2.1. Libraries</a></li> |
| <li><a href="components.html#_runtime-environment-and-runtime-libraries">12.2.2. Runtime Environment and Runtime Libraries</a></li> |
| <li><a href="components.html#_tests">12.2.3. Tests</a></li> |
| <li><a href="components.html#_type-definitions">12.2.4. Type Definitions</a></li> |
| </ul> |
| </li> |
| <li><a href="components.html#package-json">12.3. Package.json File</a> |
| <ul class="sectlevel3"> |
| <li><a href="components.html#_basic-properties">12.3.1. Basic Properties</a></li> |
| <li><a href="components.html#_n4js-properties">12.3.2. N4JS Properties</a></li> |
| <li><a href="components.html#_constraints">12.3.3. Constraints</a></li> |
| </ul> |
| </li> |
| <li><a href="components.html#_support-for-npm-scopes">12.4. Support for NPM Scopes</a></li> |
| <li><a href="components.html#sec:N4JS-Type-Definitions">12.5. N4JS Type Definitions</a> |
| <ul class="sectlevel3"> |
| <li><a href="components.html#_specify-type-definition">12.5.1. Specify Type Definition</a></li> |
| <li><a href="components.html#_name-conventions">12.5.2. Name Conventions</a></li> |
| <li><a href="components.html#_version-conventions">12.5.3. Version Conventions</a> |
| <ul class="sectlevel4"> |
| <li><a href="components.html#_define-a-new-type-definition-package">12.5.3.1. Define a New Type Definition Package</a></li> |
| <li><a href="components.html#_using-a-type-definition-package">12.5.3.2. Using a Type Definition Package</a></li> |
| <li><a href="components.html#_rational">12.5.3.3. Rational</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="components.html#_modules">12.6. Modules</a></li> |
| <li><a href="components.html#_api-and-implementation-component">12.7. API and Implementation Component</a> |
| <ul class="sectlevel3"> |
| <li><a href="components.html#_execution-of-api-and-implementation-components">12.7.1. Execution of API and Implementation Components</a></li> |
| <li><a href="components.html#_api-and-implementation-with-di">12.7.2. API and Implementation With DI</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="plainjs.html#_plainjs">13. PlainJS</a> |
| <ul class="sectlevel2"> |
| <li><a href="plainjs.html#_type-inference-and-validation-for-plain-js">13.1. Type Inference and Validation for Plain JS</a></li> |
| <li><a href="plainjs.html#_external-declarations">13.2. External Declarations</a> |
| <ul class="sectlevel3"> |
| <li><a href="plainjs.html#_declaring-externals">13.2.1. Declaring externals</a></li> |
| <li><a href="plainjs.html#_instantiating-external-classes">13.2.2. Instantiating external classes</a></li> |
| <li><a href="plainjs.html#_implementation-of-external-declarations">13.2.3. Implementation of External Declarations</a></li> |
| <li><a href="plainjs.html#_example">13.2.4. Example</a></li> |
| </ul> |
| </li> |
| <li><a href="plainjs.html#_global-definitions">13.3. Global Definitions</a></li> |
| <li><a href="plainjs.html#_runtime-definitions">13.4. Runtime Definitions</a></li> |
| <li><a href="plainjs.html#_applying-polyfills">13.5. Applying Polyfills</a></li> |
| </ul> |
| </li> |
| <li><a href="jsdoc.html#_jsdoc-2">14. JSDoc</a> |
| <ul class="sectlevel2"> |
| <li><a href="jsdoc.html#_general-n4jsdoc-features">14.1. General N4JSDoc Features</a> |
| <ul class="sectlevel3"> |
| <li><a href="jsdoc.html#_provided-inline-tags">14.1.1. Provided Inline Tags</a> |
| <ul class="sectlevel4"> |
| <li><a href="jsdoc.html#jsdoc_tag__code">14.1.1.1. @code</a></li> |
| <li><a href="jsdoc.html#jsdoc_tag__link">14.1.1.2. @link</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="jsdoc.html#_n4jsdoc-for-user-projects">14.2. N4JSdoc for User Projects</a> |
| <ul class="sectlevel3"> |
| <li><a href="jsdoc.html#_standard-tags">14.2.1. Standard Tags</a> |
| <ul class="sectlevel4"> |
| <li><a href="jsdoc.html#_-author">14.2.1.1. @author</a></li> |
| <li><a href="jsdoc.html#jsdoc_tag_param">14.2.1.2. @param</a></li> |
| <li><a href="jsdoc.html#jsdoc_tag_return">14.2.1.3. @return</a></li> |
| </ul> |
| </li> |
| <li><a href="jsdoc.html#_test-related-tags">14.2.2. Test Related Tags</a> |
| <ul class="sectlevel4"> |
| <li><a href="jsdoc.html#jsdoc_tag__testee">14.2.2.1. @testee</a></li> |
| <li><a href="jsdoc.html#jsdoc_tag__testeeFromType">14.2.2.2. @testeeFromType</a></li> |
| <li><a href="jsdoc.html#_testeeType_and__testeeMember">14.2.2.3. @testeeType and @testeeMember</a></li> |
| <li><a href="jsdoc.html#jsdoc_tag_reqid_in_Tests">14.2.2.4. @reqid in Tests</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="jsdoc.html#_n4jsdoc-for-api-and-implementation-projects">14.3. N4JSDoc for API and Implementation Projects</a> |
| <ul class="sectlevel3"> |
| <li><a href="jsdoc.html#jsdoc_tag__apiNote">14.3.1. @apiNote</a></li> |
| <li><a href="jsdoc.html#API_Project_Tags">14.3.2. API Project Tags</a> |
| <ul class="sectlevel4"> |
| <li><a href="jsdoc.html#jsdoc_tag_apiState">14.3.2.1. @apiState</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="jsx.html#_jsx">15. JSX</a> |
| <ul class="sectlevel2"> |
| <li><a href="jsx.html#_jsx-support">15.1. JSX Support</a></li> |
| <li><a href="jsx.html#_jsx-backend">15.2. JSX Backend</a></li> |
| </ul> |
| </li> |
| <li><a href="grammars.html#_grammars">16. Grammars</a> |
| <ul class="sectlevel2"> |
| <li><a href="grammars.html#_type-expressions-grammar">16.1. Type Expressions Grammar</a></li> |
| <li><a href="grammars.html#_n4js-language-grammar">16.2. N4JS Language Grammar</a></li> |
| </ul> |
| </li> |
| <li><a href="#_jsobjects">17. JSObjects</a> |
| <ul class="sectlevel2"> |
| <li><a href="#_object">17.1. Object</a></li> |
| <li><a href="#_string">17.2. String</a></li> |
| <li><a href="#_boolean">17.3. Boolean</a></li> |
| <li><a href="#_number">17.4. Number</a> |
| <ul class="sectlevel3"> |
| <li><a href="#_static-attributes">17.4.1. Static Attributes</a></li> |
| </ul> |
| </li> |
| <li><a href="#function">17.5. Function</a></li> |
| <li><a href="#_error">17.6. Error</a></li> |
| <li><a href="#_array">17.7. Array</a></li> |
| <li><a href="#_date">17.8. Date</a></li> |
| <li><a href="#_math">17.9. Math</a> |
| <ul class="sectlevel3"> |
| <li><a href="#static-attributes-1">17.9.1. Static Attributes</a></li> |
| </ul> |
| </li> |
| <li><a href="#_regexp">17.10. RegExp</a></li> |
| <li><a href="#_json">17.11. JSON</a></li> |
| </ul> |
| </li> |
| <li><a href="n4js_objects.html#_n4js-objects">18. N4JS Objects</a> |
| <ul class="sectlevel2"> |
| <li><a href="n4js_objects.html#_reflection-model">18.1. Reflection Model</a></li> |
| <li><a href="n4js_objects.html#_error-types">18.2. Error Types</a> |
| <ul class="sectlevel3"> |
| <li><a href="n4js_objects.html#_n4apinotimplemented">18.2.1. N4ApiNotImplemented</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><a href="appendix_a_acronyms.html#_acronyms">Appendix A: Acronyms</a></li> |
| <li><a href="appendix_b_license.html#sec:License">Appendix B: License</a></li> |
| <li><a href="appendix_c_bibliography.html#_bibliography">Appendix C: Bibliography</a></li> |
| </ul> |
| </div> |
| </div> |
| <div id="content"><div class="sect1"> |
| <h2 id="_jsobjects"><a class="anchor" href="#_jsobjects"></a><a class="link" href="#_jsobjects">17. JSObjects</a></h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>The built-in ECMAScript Objects |
| [<a href="appendix_c_bibliography.html#ECMA11a">ECMA11a(p.S15, p.p.102)</a>] are supported and their properties are annotated with types as described in this chapter. The semantics of these properties do not change. The short description is copied from [<a href="appendix_c_bibliography.html#ECMA11a">ECMA11a</a>] repeated here for convenience.</p> |
| </div> |
| <div class="sect2 language-n4js"> |
| <h3 id="_object"><a class="anchor" href="#_object"></a><a class="link" href="#_object">17.1. Object</a></h3> |
| <div class="paragraph"> |
| <p><code>Object</code> is the super type of all declared types and <code>N4Object</code>. It is almost similar to the JavaScript type <code>Object</code> except that no properties may be dynamically added to it. In order to declare a variable to which properties can be dynamically added, the <code>Object+</code> type has to be declared (cf. |
| <a href="#_dynamic">[_dynamic]</a>).</p> |
| </div> |
| <h4 id="_attributes" class="discrete">Attributes</h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>constructor:Object</code></dt> |
| <dd> |
| <p>Returns a reference to the Object function that created the instance’s |
| prototype.</p> |
| </dd> |
| </dl> |
| </div> |
| <h4 id="_methods-2" class="discrete">Methods</h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>toString():Object</code></dt> |
| <dd> |
| <p>Returns a string representing the specified object.</p> |
| </dd> |
| <dt class="hdlist1"><code>toLocaleString():Object</code></dt> |
| <dd> |
| <p>Returns a string representing the object. This method is meant to be |
| overridden by derived objects for locale-specific purposes.</p> |
| </dd> |
| <dt class="hdlist1"><code>valueOf():Object</code></dt> |
| <dd> |
| <p>Returns the primitive value of the specified object.</p> |
| </dd> |
| <dt class="hdlist1"><code>hasOwnProperty(prop:String):Boolean</code></dt> |
| <dd> |
| <p>Returns a boolean indicating whether an object contains the specified |
| property as a direct property of that object and not inherited through |
| the prototype chain.</p> |
| </dd> |
| <dt class="hdlist1"><code>isPrototypeOf(object:Object):Boolean</code></dt> |
| <dd> |
| <p>Returns a boolean indication whether the specified object is in the |
| prototype chain of the object this method is called upon.</p> |
| </dd> |
| <dt class="hdlist1"><code>propertyIsEnumerable(prop:String):Boolean</code></dt> |
| <dd> |
| <p>Returns a boolean indicating if the internal ECMAScript DontEnum |
| attribute is set.</p> |
| </dd> |
| </dl> |
| </div> |
| <h4 id="_static-methods" class="discrete">Static Methods</h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>getPrototypeOf(object:Object):Object</code></dt> |
| <dd> |
| <p>Returns the prototype of the specified object.</p> |
| </dd> |
| <dt class="hdlist1"><code>create(object:Object,properties:Object=):Object</code></dt> |
| <dd> |
| <p>Creates a new object with the specified prototype object and properties.</p> |
| </dd> |
| <dt class="hdlist1"><code>defineProperty(object:Object,prop:Object,descriptor:Object):Object</code></dt> |
| <dd> |
| <p>Defines a new property directly on an object or modifies an existing |
| property on an object and returns the object.</p> |
| </dd> |
| <dt class="hdlist1"><code>defineProperties(object:Object,properties:Object):Object</code></dt> |
| <dd> |
| <p>Defines new or modifies existing properties directly on an object, |
| returning the object.</p> |
| </dd> |
| <dt class="hdlist1"><code>seal(object:Object,properties:Object)</code></dt> |
| <dd> |
| <p>Seals an object, preventing new properties from being added to it and |
| marking all existing properties as non-configurable. Values of present |
| properties can still be changed as long as they are writable.</p> |
| </dd> |
| <dt class="hdlist1"><code>freeze(object:Object):Object</code></dt> |
| <dd> |
| <p>Freezes an object: that is, prevents new properties from being added to it, prevents existing properties from being removed, prevents existing properties or their enumerability, configurability, or writability from being changed. |
| In essence, the object is made effectively immutable. |
| The method returns the object being frozen.</p> |
| </dd> |
| <dt class="hdlist1"><code>preventExtensions(object:Object):Object</code></dt> |
| <dd> |
| <p>Prevents new properties from ever being added to an object (i.e. |
| prevents future extensions to the object).</p> |
| </dd> |
| <dt class="hdlist1"><code>isSealed(object:Object):Boolean static</code></dt> |
| <dd> |
| <p>Determine if an object is sealed.</p> |
| </dd> |
| <dt class="hdlist1"><code>isFrozen(object:Object):Boolean</code></dt> |
| <dd> |
| <p>Determine if an object is frozen.</p> |
| </dd> |
| <dt class="hdlist1"><code>isExtensible(object:Object):Boolean</code></dt> |
| <dd> |
| <p>Determines if an object is extensible (whether it can have new |
| properties added to it).</p> |
| </dd> |
| <dt class="hdlist1"><code>keys(object:Object):Array<String></code></dt> |
| <dd> |
| <p>Returns an array of all own enumerable properties found upon a given |
| object in the same order as that provided by a for-in loop (the |
| difference being that a for-in loop enumerates properties in the |
| prototype chain as well).</p> |
| </dd> |
| </dl> |
| </div> |
| </div> |
| <div class="sect2 language-n4js"> |
| <h3 id="_string"><a class="anchor" href="#_string"></a><a class="link" href="#_string">17.2. String</a></h3> |
| <div class="paragraph"> |
| <p>String is a global object that may be used to construct String |
| instances and is a sub class of Object.</p> |
| </div> |
| <h4 id="string-attributes" class="discrete">Attributes</h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>number: length</code> </dt> |
| <dd> |
| <p>The length of a string.</p> |
| </dd> |
| </dl> |
| </div> |
| <h4 id="methods-1" class="discrete">Methods</h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>String(thing:Object=)</code></dt> |
| <dd> |
| <p>-</p> |
| </dd> |
| <dt class="hdlist1"><code>anchor(anchorname:String):String</code></dt> |
| <dd> |
| <p>Creates an HTML anchor.</p> |
| </dd> |
| <dt class="hdlist1"><code>big():String</code></dt> |
| <dd> |
| <p>Returns a string in a big font.</p> |
| </dd> |
| <dt class="hdlist1"><code>blink():String</code></dt> |
| <dd> |
| <p>Returns a string in a blinking string.</p> |
| </dd> |
| <dt class="hdlist1"><code>bold():String</code></dt> |
| <dd> |
| <p>Returns a string in a bold font.</p> |
| </dd> |
| <dt class="hdlist1"><code>charAt(index:Number):String</code></dt> |
| <dd> |
| <p>Returns the character at a specified position.</p> |
| </dd> |
| <dt class="hdlist1"><code>charCodeAt(index:Number):Number</code></dt> |
| <dd> |
| <p>Returns the Unicode of the character at a specified position.</p> |
| </dd> |
| <dt class="hdlist1"><code>concat(strings:String…​):String</code></dt> |
| <dd> |
| <p>Joins two or more strings.</p> |
| </dd> |
| <dt class="hdlist1"><code>equals(object:Object):Boolean</code> </dt> |
| <dd> |
| <p>-</p> |
| </dd> |
| <dt class="hdlist1"><code>equalsIgnoreCase(object:Object):Boolean</code> </dt> |
| <dd> |
| <p>-</p> |
| </dd> |
| <dt class="hdlist1"><code>fromCharCode(num:Any…​):String</code></dt> |
| <dd> |
| <p>Returns a string created by using the specified sequence of Unicode values.</p> |
| </dd> |
| <dt class="hdlist1"><code>fixed():String</code></dt> |
| <dd> |
| <p>Returns a string as teletype text.</p> |
| </dd> |
| <dt class="hdlist1"><code>fontcolor(color):String</code></dt> |
| <dd> |
| <p>Returns a string in a specified color.</p> |
| </dd> |
| <dt class="hdlist1"><code>fontsize(size):String</code></dt> |
| <dd> |
| <p>Returns a string in a specified size.</p> |
| </dd> |
| <dt class="hdlist1"><code>indexOf(searchValue, fromIndex:Number=):Number</code></dt> |
| <dd> |
| <p>Returns the position of the first occurrence of a specified string value in a string.</p> |
| </dd> |
| <dt class="hdlist1"><code>italics():String</code></dt> |
| <dd> |
| <p>Returns a string in italic.</p> |
| </dd> |
| <dt class="hdlist1"><code>lastIndexOf(searchValue, fromIndex:Number=):Number</code></dt> |
| <dd> |
| <p>Returns the position of the last occurrence of a specified string value, searching backwards from the specified position in a string.</p> |
| </dd> |
| <dt class="hdlist1"><code>link(url):String</code></dt> |
| <dd> |
| <p>Returns a string as a hyperlink.</p> |
| </dd> |
| <dt class="hdlist1"><code>localeCompare(otherString):Number</code></dt> |
| <dd> |
| <p>This method returns a number indicating whether a reference string comes before or after or is the same as the given string in sort order.</p> |
| </dd> |
| <dt class="hdlist1"><code>match(search value):String</code></dt> |
| <dd> |
| <p>Searches for a specified value in a string.</p> |
| </dd> |
| <dt class="hdlist1"><code>replace(findString,newString):String</code></dt> |
| <dd> |
| <p>Replaces some characters with some other characters in a string.</p> |
| </dd> |
| <dt class="hdlist1"><code>search(search string):Number</code></dt> |
| <dd> |
| <p>Searches a string for a specified value.</p> |
| </dd> |
| <dt class="hdlist1"><code>slice(beginSlice:Number, endSclice:Number=):String</code></dt> |
| <dd> |
| <p>Extracts a part of a string and returns the extracted part in a new string.</p> |
| </dd> |
| <dt class="hdlist1"><code>small():String</code></dt> |
| <dd> |
| <p>Returns a string in a small font.</p> |
| </dd> |
| <dt class="hdlist1"><code>split(separator, howmany:Number=):Array<String></code></dt> |
| <dd> |
| <p>Splits a string into an array of strings.</p> |
| </dd> |
| <dt class="hdlist1"><code>strike():String</code></dt> |
| <dd> |
| <p>Returns a string with a strikethrough.</p> |
| </dd> |
| <dt class="hdlist1"><code>sub():String</code></dt> |
| <dd> |
| <p>Returns a string as subscript.</p> |
| </dd> |
| <dt class="hdlist1"><code>substr(start:Number,length:Number=):String</code></dt> |
| <dd> |
| <p>Extracts a specified number of characters in a string, from a start index.</p> |
| </dd> |
| <dt class="hdlist1"><code>substring(beginIndex:number,endIndex:Number=):String</code></dt> |
| <dd> |
| <p>Extracts the characters in a string between two specified indices.</p> |
| </dd> |
| <dt class="hdlist1"><code>sup():String</code></dt> |
| <dd> |
| <p>Returns a string as superscript.</p> |
| </dd> |
| <dt class="hdlist1"><code>toLocaleUpperCase():String</code></dt> |
| <dd> |
| <p>Returns a string in lowercase letters.</p> |
| </dd> |
| <dt class="hdlist1"><code>toString():String</code></dt> |
| <dd> |
| <p>Returns a String value for this object.</p> |
| </dd> |
| <dt class="hdlist1"><code>toUpperCase():String</code></dt> |
| <dd> |
| <p>Returns a string in uppercase letters.</p> |
| </dd> |
| <dt class="hdlist1"><code>valueOf():String</code></dt> |
| <dd> |
| <p>Returns the primitive value of a String object.</p> |
| </dd> |
| </dl> |
| </div> |
| <h4 id="static-methods-1" class="discrete">Static Methods</h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>String(value:Object=)</code></dt> |
| <dd> |
| <p>Static constructor.</p> |
| </dd> |
| </dl> |
| </div> |
| </div> |
| <div class="sect2 language-n4js"> |
| <h3 id="_boolean"><a class="anchor" href="#_boolean"></a><a class="link" href="#_boolean">17.3. Boolean</a></h3> |
| <div class="paragraph"> |
| <p><code>Boolean</code> does not have a super class.</p> |
| </div> |
| <h4 id="static-methods-2" class="discrete">Static Methods</h4> |
| <div class="paragraph"> |
| <p><code>Boolean(value:Object=):Boolean</code></p> |
| </div> |
| </div> |
| <div class="sect2 language-n4js"> |
| <h3 id="_number"><a class="anchor" href="#_number"></a><a class="link" href="#_number">17.4. Number</a></h3> |
| <div class="paragraph"> |
| <p><code>Number</code> does not have a super class.</p> |
| </div> |
| <div class="sect3"> |
| <h4 id="_static-attributes"><a class="anchor" href="#_static-attributes"></a><a class="link" href="#_static-attributes">17.4.1. Static Attributes</a></h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>MAX_VALUE:Number</code></dt> |
| <dd> |
| <p>The largest representable number.</p> |
| </dd> |
| <dt class="hdlist1"><code>MIN_VALUE:Number</code></dt> |
| <dd> |
| <p>The smallest representable number.</p> |
| </dd> |
| <dt class="hdlist1"><code>NaN:Number</code></dt> |
| <dd> |
| <p>Special 'not a number' value.</p> |
| </dd> |
| <dt class="hdlist1"><code>NEGATIVE_INFINITY:Number</code></dt> |
| <dd> |
| <p>Special value representing negative infinity, returned on overflow.</p> |
| </dd> |
| <dt class="hdlist1"><code>POSITIVE_INFINITY:Number</code></dt> |
| <dd> |
| <p>Special value representing infinity, returned on overflow.</p> |
| </dd> |
| </dl> |
| </div> |
| <h4 id="methods-2" class="discrete">Methods</h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>toExponential(numberOfDecimals:Number=):String</code></dt> |
| <dd> |
| <p>Converts the value of the object into an exponential notation.</p> |
| </dd> |
| <dt class="hdlist1"><code>toFixed(numberOfDecimals:Number=):String</code></dt> |
| <dd> |
| <p>Formats a number to the specified number of decimals.</p> |
| </dd> |
| <dt class="hdlist1"><code>toPrecision(numberOfDecimals:Number=):String</code></dt> |
| <dd> |
| <p>Converts a number into an exponential notation if it has more digits than specified.</p> |
| </dd> |
| <dt class="hdlist1"><code>valueOf():Number</code></dt> |
| <dd> |
| <p>Returns the primitive value of a Number object.</p> |
| </dd> |
| <dt class="hdlist1"><code>toString(radix:Number=):String</code></dt> |
| <dd> |
| <p>Returns a String value for this object. The toString method parses its first argument and attempts to return a string representation in the specified radix (base).</p> |
| </dd> |
| <dt class="hdlist1"><code>toLocaleString(locales: String|[String]=undefined, options: <sub>r</sub>NumberFormatOptions=undefined): String</code></dt> |
| <dd> |
| <p>Returns a locale-specific String value for this object. The toLocalString accepts two optional arguments. The semantics of these arguments |
| is defined in <a href="https://www.ecma-international.org/ecma-402/4.0/index.html#sup-number.prototype.tolocalestring">ECMA-402 (Internationalization API Specification)</a>. |
| In N4JS, the base definition does not define that method, instead Number inherits <code>toLocaleString</code> from Object. The specialized |
| definition is found in the runtime library <code>n4js-runtime-ecma402</code>.</p> |
| </dd> |
| </dl> |
| </div> |
| <h4 id="static-methods-3" class="discrete">Static Methods</h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>Number(value:Object=):Number</code></dt> |
| <dd> |
| <p>Static constructor.</p> |
| </dd> |
| </dl> |
| </div> |
| </div> |
| </div> |
| <div class="sect2 language-n4js"> |
| <h3 id="function"><a class="anchor" href="#function"></a><a class="link" href="#function">17.5. Function</a></h3> |
| <div class="paragraph"> |
| <p><code>Function</code> does not have a super class.</p> |
| </div> |
| <h4 id="attributes-2" class="discrete">Attributes</h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>prototype:Object</code></dt> |
| <dd> |
| <p>Allows the addition of properties to the instance of the object created by the constructor function.</p> |
| </dd> |
| <dt class="hdlist1"><code>length:Number</code></dt> |
| <dd> |
| <p>Specifies the number of arguments expected by the functio</p> |
| </dd> |
| </dl> |
| </div> |
| <h4 id="methods-3" class="discrete">Methods</h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>apply(thisArg,argsArray:Array=):Object</code></dt> |
| <dd> |
| <p>Applies the method of another object in the context of a different object (the calling object); arguments can be passed as an Array object.</p> |
| </dd> |
| <dt class="hdlist1"><code>call(thisArg,arg…​):Object</code></dt> |
| <dd> |
| <p>Calls (executes) a method of another object in the context of a different object (the calling object); arguments can be passed as they are.</p> |
| </dd> |
| <dt class="hdlist1"><code>bind(thisArg:Object,arg…​):Function</code></dt> |
| <dd> |
| <p>Creates a new function that, when called, itself calls this function in the context of the provided this value with a given sequence of arguments preceding any provided when the new function was called.</p> |
| </dd> |
| </dl> |
| </div> |
| </div> |
| <div class="sect2 language-n4js"> |
| <h3 id="_error"><a class="anchor" href="#_error"></a><a class="link" href="#_error">17.6. Error</a></h3> |
| <div class="paragraph"> |
| <p><code>Error</code> does not have a super class.</p> |
| </div> |
| <h4 id="attributes-3" class="discrete">Attributes</h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>name:String</code></dt> |
| <dd> |
| <p>Error name.</p> |
| </dd> |
| <dt class="hdlist1"><code>message:String</code></dt> |
| <dd> |
| <p>Error message.</p> |
| </dd> |
| </dl> |
| </div> |
| <h4 id="static-methods-4" class="discrete">Static Methods</h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>Error(message:Object=):Error</code></dt> |
| <dd> |
| <p>Static Constructor.</p> |
| </dd> |
| </dl> |
| </div> |
| </div> |
| <div class="sect2 language-n4js"> |
| <h3 id="_array"><a class="anchor" href="#_array"></a><a class="link" href="#_array">17.7. Array</a></h3> |
| <div class="paragraph"> |
| <p><code>Array</code> is a generic type with the type parameter <code>E</code> and does not have a super class.</p> |
| </div> |
| <h4 id="methods-4" class="discrete">Methods</h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>concat(array…​):Array<E>)</code></dt> |
| <dd> |
| <p>Joins two or more arrays and returns the result.</p> |
| </dd> |
| <dt class="hdlist1"><code>every(callback:Function):Boolean</code></dt> |
| <dd> |
| <p>Tests whether all elements in the array pass the test implemented by the provided function. The callback will be called with 3 arguments (elementValue,elementIndex,traversedArray).</p> |
| </dd> |
| <dt class="hdlist1"><code>filter(callback:Function):Array<E></code></dt> |
| <dd> |
| <p>Creates a new array with all elements that pass the test implemented by the provided function. The callback will be called with 3 arguments (elementValue,elementIndex,traversedArray).</p> |
| </dd> |
| <dt class="hdlist1"><code>forEach(callback:Function,thisArg=)</code></dt> |
| <dd> |
| <p>Calls a function for each element in the array. The callback will be called with 3 arguments (elementValue,elementIndex,traversedArray). Optionally with a thisObject argument to use as this when executing callback.</p> |
| </dd> |
| <dt class="hdlist1"><code>indexOf(searchElement,fromIndex=):Number</code></dt> |
| <dd> |
| <p>Returns the first index at which a given element can be found in the array, or -1 if it is not present.</p> |
| </dd> |
| <dt class="hdlist1"><code>join(separator=):String</code></dt> |
| <dd> |
| <p>Puts all the elements of an array into a string. The elements are separated by a specified delimiter.</p> |
| </dd> |
| <dt class="hdlist1"><code>lastIndexOf(searchElement,fromIndex=):Number</code></dt> |
| <dd> |
| <p>Returns the last (greatest) index of an element within the array equal to the specified value. Will return -1 if none are found.</p> |
| </dd> |
| <dt class="hdlist1"><code>length():Number</code></dt> |
| <dd> |
| <p>The length returns an integer representing the length of an array.</p> |
| </dd> |
| <dt class="hdlist1"><code>map(callback:Function,thisArg=):Array</code></dt> |
| <dd> |
| <p>Creates a new array with the results of calling a provided function on every element in this array. The callback will be called with 3 arguments (elementValue,elementIndex,traversedArray). Optionally, with a thisObject argument to use as this when executing callback.</p> |
| </dd> |
| <dt class="hdlist1"><code>pop():E</code></dt> |
| <dd> |
| <p>Removes and returns the last element of an array.</p> |
| </dd> |
| <dt class="hdlist1"><code>push(element…​):E</code></dt> |
| <dd> |
| <p>Adds one or more elements to the end of an array and returns the new length.</p> |
| </dd> |
| <dt class="hdlist1"><code>reverse():Array<E></code></dt> |
| <dd> |
| <p>Reverses the order of the elements in an array.</p> |
| </dd> |
| <dt class="hdlist1"><code>shift()</code></dt> |
| <dd> |
| <p>Removes and returns the first element of an array.</p> |
| </dd> |
| <dt class="hdlist1"><code>slice(start:Number,end:Number=):Array<E></code></dt> |
| <dd> |
| <p>Returns selected elements from an existing array.</p> |
| </dd> |
| <dt class="hdlist1"><code>some(callback:Function,thisArg=):Boolean</code></dt> |
| <dd> |
| <p>Tests whether some element in the array passes the test implemented by the provided function. The callback will be called with 3 arguments (elementValue,elementIndex,traversedArray). Optionally, with a thisObject argument to use as this when executing callback.</p> |
| </dd> |
| <dt class="hdlist1"><code>sort(sortByFunction:Function=):Array<E></code></dt> |
| <dd> |
| <p>Sorts the elements of an array. The function will be called with 2 arguments (a,b).</p> |
| </dd> |
| <dt class="hdlist1"><code>splice(index:Number,how many:Number,element…​):Array<E></code></dt> |
| <dd> |
| <p>Removes and adds new elements to an array. Returns the removed elements as an Array.</p> |
| </dd> |
| <dt class="hdlist1"><code>toLocaleString():String</code></dt> |
| <dt class="hdlist1"><code>toString():String</code></dt> |
| <dd> |
| <p>Returns a String value for Array.</p> |
| </dd> |
| <dt class="hdlist1"><code>unshift(element…​):E</code></dt> |
| <dd> |
| <p>Adds one or more elements to the beginning of an array and returns the new length.</p> |
| </dd> |
| </dl> |
| </div> |
| <h4 id="static-methods-5" class="discrete">Static Methods</h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>Array(item:Object…​)</code></dt> |
| <dd> |
| <p>Static constructor.</p> |
| </dd> |
| </dl> |
| </div> |
| </div> |
| <div class="sect2 language-n4js"> |
| <h3 id="_date"><a class="anchor" href="#_date"></a><a class="link" href="#_date">17.8. Date</a></h3> |
| <div class="paragraph"> |
| <p><code>Date</code> does not have a super class.</p> |
| </div> |
| <h4 id="static-methods-6" class="discrete">Static Methods</h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>Date():Date</code></dt> |
| <dd> |
| <p>Static constructor.</p> |
| </dd> |
| <dt class="hdlist1"><code>Date(milliseconds:Number):Date</code></dt> |
| <dd> |
| <p>Constructor.</p> |
| </dd> |
| <dt class="hdlist1"><code>Date(date:Date):Date</code></dt> |
| <dd> |
| <p>Constructor.</p> |
| </dd> |
| <dt class="hdlist1"><code>Date(dateString:String):Date</code></dt> |
| <dd> |
| <p>Constructor.</p> |
| </dd> |
| <dt class="hdlist1"><code>Date(year:Number,month:Number,day=Number=,hour:Number=,minute:Number=,second:Number=,millisecond:Number=):Date</code></dt> |
| <dd> |
| <p>Constructor.</p> |
| </dd> |
| <dt class="hdlist1"><code>parse(dateString:String):Date</code></dt> |
| <dd> |
| <p>Parses a string representation of a date, and returns the number of milliseconds since midnight Jan 1, 1970.</p> |
| </dd> |
| <dt class="hdlist1"><code>now():Number</code></dt> |
| <dd> |
| <p>Returns the numeric value corresponding to the current time.</p> |
| </dd> |
| <dt class="hdlist1"><code>UTC(year:Number,month:Number,date:Number=,hrs:Number=,min:Number=,sec:Number=,ms:Number=):Number</code></dt> |
| <dd> |
| <p>UTC takes comma-delimited date parameters and returns the number of milliseconds between January 1, 1970, 00:00:00, Universal Time and the time you specified.</p> |
| </dd> |
| </dl> |
| </div> |
| <h4 id="methods-5" class="discrete">Methods</h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>getDate():Number</code></dt> |
| <dd> |
| <p>Returns the day of the month from a Date object (from 1-31).</p> |
| </dd> |
| <dt class="hdlist1"><code>getDay():Number</code></dt> |
| <dd> |
| <p>Returns the day of the week from a Date object (from 0-6).</p> |
| </dd> |
| <dt class="hdlist1"><code>getFullYear():Number</code></dt> |
| <dd> |
| <p>Returns the year, as a four-digit number.</p> |
| </dd> |
| <dt class="hdlist1"><code>getHours():Number</code></dt> |
| <dd> |
| <p>Returns the hour of a day (from 0-23).</p> |
| </dd> |
| <dt class="hdlist1"><code>getMilliseconds():Number</code></dt> |
| <dd> |
| <p>Returns the milliseconds of a Date object (from 0-999).</p> |
| </dd> |
| <dt class="hdlist1"><code>getMinutes():Number</code></dt> |
| <dd> |
| <p>Returns the minutes of a date (from 0-59).</p> |
| </dd> |
| <dt class="hdlist1"><code>getMonth():Number</code></dt> |
| <dd> |
| <p>Returns the month from a date (from 0-11).</p> |
| </dd> |
| <dt class="hdlist1"><code>getSeconds():Number</code></dt> |
| <dd> |
| <p>Returns the seconds of a date (from 0-59).</p> |
| </dd> |
| <dt class="hdlist1"><code>getTime():Number</code></dt> |
| <dd> |
| <p>Returns the number of milliseconds since midnight Jan 1, 1970.</p> |
| </dd> |
| <dt class="hdlist1"><code>valueOf():Number</code></dt> |
| <dd> |
| <p>Returns the primitive value of a Date object as a number data type, the number of milliseconds since midnight 01 January, 1970 UTC. This method is functionally equivalent to the getTime method.</p> |
| </dd> |
| <dt class="hdlist1"><code>getTimezoneOffset():Number</code></dt> |
| <dd> |
| <p>Returns the difference in minutes between local time and Greenwich Mean Time (GMT).</p> |
| </dd> |
| <dt class="hdlist1"><code>getUTCDate():Number</code></dt> |
| <dd> |
| <p>Returns the day of the month from a date according to Universal Time (from 1-31).</p> |
| </dd> |
| <dt class="hdlist1"><code>getUTCDay():Number</code></dt> |
| <dd> |
| <p>Returns the day of the week from a date according to Universal Time (from 0-6).</p> |
| </dd> |
| <dt class="hdlist1"><code>getUTCFullYear():Number</code></dt> |
| <dd> |
| <p>Returns the four-digit year from a date according to Universal Time.</p> |
| </dd> |
| <dt class="hdlist1"><code>getUTCHours():Number</code></dt> |
| <dd> |
| <p>Returns the hour of a date according to Universal Time (from 0-23).</p> |
| </dd> |
| <dt class="hdlist1"><code>getUTCMilliseconds():Number</code></dt> |
| <dd> |
| <p>Returns the milliseconds of a date according to Universal Time (from 0-999).</p> |
| </dd> |
| <dt class="hdlist1"><code>getUTCMinutes():Number</code></dt> |
| <dd> |
| <p>Returns the minutes of a date according to Universal Time (from 0-59).</p> |
| </dd> |
| <dt class="hdlist1"><code>getUTCMonth():Number</code></dt> |
| <dd> |
| <p>Returns the month from a Date object according to Universal Time (from 0-11).</p> |
| </dd> |
| <dt class="hdlist1"><code>getUTCSeconds():Number</code></dt> |
| <dd> |
| <p>Returns the seconds of a date according to Universal Time (from 0-59).</p> |
| </dd> |
| <dt class="hdlist1"><code>getYear():Number deprecated</code></dt> |
| <dd> |
| <p>Returns the year as a two-digit or a three/four-digit number, depending on the browser. Use getFullYear() instead!</p> |
| </dd> |
| <dt class="hdlist1"><code>setDate(day):Number</code></dt> |
| <dd> |
| <p>Sets the day of the month from a Date object (from 1-31).</p> |
| </dd> |
| <dt class="hdlist1"><code>setFullYear(full year, month=, day=):Number</code></dt> |
| <dd> |
| <p>Sets the year as a four-digit number.</p> |
| </dd> |
| <dt class="hdlist1"><code>setHours(hours,minutes=,seconds=,milis=):Number</code></dt> |
| <dd> |
| <p>Sets the hour of a day (from 0-23).</p> |
| </dd> |
| <dt class="hdlist1"><code>setMilliseconds(mills):Number</code></dt> |
| <dd> |
| <p>Sets the milliseconds of a Date object (from 0-999).</p> |
| </dd> |
| <dt class="hdlist1"><code>setMinutes(minutes,=seconds,=millis):Number</code></dt> |
| <dd> |
| <p>Sets the minutes of a date (from 0-59).</p> |
| </dd> |
| <dt class="hdlist1"><code>setMonth" directType="Number(month,day=):Number</code></dt> |
| <dd> |
| <p>Sets the month from a date (from 0-11).</p> |
| </dd> |
| <dt class="hdlist1"><code>setSeconds(seconds,millis=):number</code></dt> |
| <dd> |
| <p>Sets the seconds of a date (from 0-59).</p> |
| </dd> |
| <dt class="hdlist1"><code>setTime(mills):Number</code></dt> |
| <dd> |
| <p>Sets the number of milliseconds since midnight Jan 1, 1970.</p> |
| </dd> |
| <dt class="hdlist1"><code>setUTCDate(day):Number</code></dt> |
| <dd> |
| <p>Sets the day of the month from a date according to Universal Time (from 0-6).</p> |
| </dd> |
| <dt class="hdlist1"><code>setUTCFullYear(fullyear,month=,day=):Number</code></dt> |
| <dd> |
| <p>Sets the four-digit year from a date according to Universal Time.</p> |
| </dd> |
| <dt class="hdlist1"><code>setUTCHours(hours,minutes=,seconds=,millis=):Number</code></dt> |
| <dd> |
| <p>Sets the hour of a date according to Universal Time (from 0-23).</p> |
| </dd> |
| <dt class="hdlist1"><code>setUTCMilliseconds(mills):Number</code></dt> |
| <dd> |
| <p>Sets the milliseconds of a date according to Universal Time (from 0-999).</p> |
| </dd> |
| <dt class="hdlist1"><code>setUTCMinutes(minutes,seconds=,millis=):Number</code></dt> |
| <dd> |
| <p>Sets the minutes of a date according to Universal Time time (from 0-59).</p> |
| </dd> |
| <dt class="hdlist1"><code>setUTCMonth(month,day=):Number</code></dt> |
| <dd> |
| <p>Sets the month from a Date object according to Universal Time (from 0-11).</p> |
| </dd> |
| <dt class="hdlist1"><code>setUTCSeconds(seconds,millis=):Number</code></dt> |
| <dd> |
| <p>Sets the seconds of a date according to Universal Time (from 0-59).</p> |
| </dd> |
| <dt class="hdlist1"><code>setYear(year):Number deprecated</code></dt> |
| <dd> |
| <p>Sets the year, as a two-digit or a three/four-digit number, depending on the browser. Use setFullYear() instead!!</p> |
| </dd> |
| <dt class="hdlist1"><code>toDateString():String</code></dt> |
| <dd> |
| <p>Returns the date portion of a Date object in readable form.</p> |
| </dd> |
| <dt class="hdlist1"><code>toLocaleDateString(locales: String|[String]=undefined, options: <sub>r</sub>DateTimeFormatOptions=undefined): String</code></dt> |
| <dd> |
| <p>Converts a Date object, using locales and options as defined in DateTimeFormat of ECMA-402 (Internationalization API), to a string and returns the date and time portion. |
| The toLocalString accepts two optional arguments. The semantics of these arguments is defined in |
| <a href="https://www.ecma-international.org/ecma-402/4.0/index.html#sup-date.prototype.tolocaledatestring">ECMA-402 (Internationalization API Specification)</a>. |
| The specialized definition is found in the runtime library <code>n4js-runtime-ecma402</code>.</p> |
| </dd> |
| <dt class="hdlist1"><code>toLocaleString(locales: String|[String]=undefined, options: <sub>r</sub>DateTimeFormatOptions=undefined): String</code></dt> |
| <dd> |
| <p>Converts a Date object, using locales and options as defined in DateTimeFormat of ECMA-402 (Internationalization API), to a string. |
| The toLocalString accepts two optional arguments. The semantics of these arguments is defined in |
| <a href="https://www.ecma-international.org/ecma-402/4.0/index.html#sup-date.prototype.tolocalestring">ECMA-402 (Internationalization API Specification)</a>. |
| In N4JS, the base definition does not define that method, instead Date inherits <code>toLocaleString</code> from Object. The specialized |
| definition is found in the runtime library <code>n4js-runtime-ecma402</code>.</p> |
| </dd> |
| <dt class="hdlist1"><code>toLocaleTimeString(locales: String|[String]=undefined, options: <sub>r</sub>DateTimeFormatOptions=undefined): String</code></dt> |
| <dd> |
| <p>Converts a Date object, using locales and options as defined in DateTimeFormat of ECMA-402 (Internationalization API), to a string and returns the time portion. |
| The semantics of these arguments is defined in |
| <a href="https://www.ecma-international.org/ecma-402/4.0/index.html#sup-date.prototype.tolocaletimestring">ECMA-402 (Internationalization API Specification)</a>. |
| The specialized definition is found in the runtime library <code>n4js-runtime-ecma402</code>.</p> |
| </dd> |
| <dt class="hdlist1"><code>toString():String</code></dt> |
| <dd> |
| <p>Returns a String value for this object.</p> |
| </dd> |
| <dt class="hdlist1"><code>toTimeString():String</code></dt> |
| <dd> |
| <p>Returns the time portion of a Date object in readable form.</p> |
| </dd> |
| <dt class="hdlist1"><code>toUTCString():String</code></dt> |
| <dd> |
| <p>Converts a Date object, according to Universal Time, to a string.</p> |
| </dd> |
| </dl> |
| </div> |
| </div> |
| <div class="sect2 language-n4js"> |
| <h3 id="_math"><a class="anchor" href="#_math"></a><a class="link" href="#_math">17.9. Math</a></h3> |
| <div class="paragraph"> |
| <p><code>Math</code> is not instantiable and only provides static properties and methods.</p> |
| </div> |
| <div class="sect3"> |
| <h4 id="static-attributes-1"><a class="anchor" href="#static-attributes-1"></a><a class="link" href="#static-attributes-1">17.9.1. Static Attributes</a></h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>E:Number</code></dt> |
| <dd> |
| <p>Euler’s constant and the base of natural logarithms, approximately 2.718.</p> |
| </dd> |
| <dt class="hdlist1"><code>LN2:Number</code></dt> |
| <dd> |
| <p>Natural logarithm of 2, approximately 0.693.</p> |
| </dd> |
| <dt class="hdlist1"><code>LN10:Number</code></dt> |
| <dd> |
| <p>Natural logarithm of 10, approximately 2.302.</p> |
| </dd> |
| <dt class="hdlist1"><code>LOG2E:Number</code></dt> |
| <dd> |
| <p>Base 2 logarithm of E, approximately 1.442.</p> |
| </dd> |
| <dt class="hdlist1"><code>LOG10E:Number</code></dt> |
| <dd> |
| <p>Base 10 logarithm of E, approximately 0.434.</p> |
| </dd> |
| <dt class="hdlist1"><code>PI:Number</code></dt> |
| <dd> |
| <p>Ratio of the circumference of a circle to its diameter, approximately 3.14159.</p> |
| </dd> |
| <dt class="hdlist1"><code>SQRT1_2:Number</code></dt> |
| <dd> |
| <p>Square root of 1/2; equivalently, 1 over the square root of 2, approximately 0.707.</p> |
| </dd> |
| <dt class="hdlist1"><code>SQRT2:Number</code></dt> |
| <dd> |
| <p>Square root of 2, approximately 1.414.</p> |
| </dd> |
| </dl> |
| </div> |
| <h4 id="static-methods-7" class="discrete">Static Methods</h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>abs(x):Number</code></dt> |
| <dd> |
| <p>Returns the absolute value of a number.</p> |
| </dd> |
| <dt class="hdlist1"><code>acos(x:Number):Number</code></dt> |
| <dd> |
| <p>Returns the arccosine of a number.</p> |
| </dd> |
| <dt class="hdlist1"><code>asinx:Number):Number</code></dt> |
| <dd> |
| <p>Returns the arcsine of a number.</p> |
| </dd> |
| <dt class="hdlist1"><code>atan(x:Number):Number</code></dt> |
| <dd> |
| <p>Returns the arctangent of a number.</p> |
| </dd> |
| <dt class="hdlist1"><code>atan2(y:Number,x:Number):Number</code></dt> |
| <dd> |
| <p>Returns the arctangent of the quotient of its arguments.</p> |
| </dd> |
| <dt class="hdlist1"><code>ceil(x):Number</code></dt> |
| <dd> |
| <p>Returns the smallest integer greater than or equal to a number.</p> |
| </dd> |
| <dt class="hdlist1"><code>cos(x):Number</code></dt> |
| <dd> |
| <p>Returns the arctangent of the quotient of its arguments.</p> |
| </dd> |
| <dt class="hdlist1"><code>exp(x):Number</code></dt> |
| <dd> |
| <p>Returns Enumber, where number is the argument, and E is Euler’s constant (2.718…​), the base of the natural logarithm.</p> |
| </dd> |
| <dt class="hdlist1"><code>floor(x):Number</code></dt> |
| <dd> |
| <p>Returns the largest integer less than or equal to a number.</p> |
| </dd> |
| <dt class="hdlist1"><code>log(x):Number</code></dt> |
| <dd> |
| <p>Returns the natural logarithm (loge, also ln) of a number.</p> |
| </dd> |
| <dt class="hdlist1"><code>max(value…​):Number</code></dt> |
| <dd> |
| <p>Returns the largest of zero or more numbers.</p> |
| </dd> |
| <dt class="hdlist1"><code>min(value…​):Number</code></dt> |
| <dd> |
| <p>Returns the smallest of zero or more numbers.</p> |
| </dd> |
| <dt class="hdlist1"><code>pow(base:Number,exponent:Number):Number</code></dt> |
| <dd> |
| <p>Returns base to the exponent power, that is, baseexponent.</p> |
| </dd> |
| <dt class="hdlist1"><code>random():Number</code></dt> |
| <dd> |
| <p>Returns a pseudorandom number between 0 and 1.</p> |
| </dd> |
| <dt class="hdlist1"><code>round(x:Number):Number</code></dt> |
| <dd> |
| <p>Returns the value of a number rounded to the nearest integer.</p> |
| </dd> |
| <dt class="hdlist1"><code>sin(x:Number):Number</code></dt> |
| <dd> |
| <p>Returns the sine of a number.</p> |
| </dd> |
| <dt class="hdlist1"><code>sqrt(x:Number):Number</code></dt> |
| <dd> |
| <p>Returns the positive square root of a number.</p> |
| </dd> |
| <dt class="hdlist1"><code>tan(x:Number):Number</code></dt> |
| <dd> |
| <p>Returns the tangent of a number.</p> |
| </dd> |
| </dl> |
| </div> |
| </div> |
| </div> |
| <div class="sect2 language-n4js"> |
| <h3 id="_regexp"><a class="anchor" href="#_regexp"></a><a class="link" href="#_regexp">17.10. RegExp</a></h3> |
| <div class="paragraph"> |
| <p><code>RegExp</code> does not have a super class.</p> |
| </div> |
| <h4 id="attributes-4" class="discrete">Attributes</h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>global:Boolean</code></dt> |
| <dd> |
| <p>Whether to test the regular expression against all possible matches in a string, or only against the first.</p> |
| </dd> |
| <dt class="hdlist1"><code>ignoreCase:Boolean</code></dt> |
| <dd> |
| <p>Whether to ignore case while attempting a match in a string.</p> |
| </dd> |
| <dt class="hdlist1"><code>lastIndex:Number</code></dt> |
| <dd> |
| <p>The index at which to start the next match.</p> |
| </dd> |
| <dt class="hdlist1"><code>multiline:Boolean</code></dt> |
| <dd> |
| <p>Whether or not to search in strings across multiple lines.</p> |
| </dd> |
| <dt class="hdlist1"><code>source:String</code></dt> |
| <dd> |
| <p>The text of the pattern.</p> |
| </dd> |
| </dl> |
| </div> |
| <h4 id="methods-6" class="discrete">Methods</h4> |
| <div class="dlist"> |
| <dl> |
| <dt class="hdlist1"><code>exec(str:String):Array</code></dt> |
| <dd> |
| <p>Executes a search for a match in its string parameter.</p> |
| </dd> |
| <dt class="hdlist1"><code>test(str:String):Boolean</code></dt> |
| <dd> |
| <p>Tests for a match in its string parameter.</p> |
| </dd> |
| </dl> |
| </div> |
| </div> |
| <div class="sect2 language-n4js"> |
| <h3 id="_json"><a class="anchor" href="#_json"></a><a class="link" href="#_json">17.11. JSON</a></h3> |
| <div class="paragraph"> |
| <p><code>JSON</code> is a global object and a subclass of <code>Object</code>. Its functionality is provided by two static methods. |
| It is not possible to create new instances of type JSON.</p> |
| </div> |
| <h4 id="attributes-5" class="discrete">Attributes</h4> |
| <div class="paragraph"> |
| <p>The JSON object does not define own properties.</p> |
| </div> |
| <h4 id="methods-7" class="discrete">Methods</h4> |
| <div class="paragraph"> |
| <p>The JSON object does not define own methods.</p> |
| </div> |
| <h4 id="static-methods-8" class="discrete">Static Methods</h4> |
| <div class="paragraph"> |
| <p>The parse function parses a JSON text (a JSON-formatted String) and |
| produces an ECMAScript value. The JSON format is a restricted form of |
| ECMAScript literal. JSON objects are realized as ECMAScript objects. |
| JSON arrays are realized as ECMAScript arrays. JSON strings, numbers, |
| booleans, and null are realized as ECMAScript Strings, Numbers, |
| Booleans, and null. For detailed information see [<a href="appendix_c_bibliography.html#ECMA11a">ECMA11a(p.S15.12.2)</a>]</p> |
| </div> |
| <div class="paragraph"> |
| <p>The optional reviver parameter is a function that takes two parameters |
| (key and value). It can filter and transform the results. It is called |
| with each of the key/value pairs produced by the parse and its return |
| value is used instead of the original value. If it returns what it |
| received, the structure is not modified. If it returns then the property |
| is deleted from the result.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The stringify function returns a String in JSON format representing an |
| ECMAScript value. It can take three parameters. The first parameter is |
| required. The value parameter is an ECMAScript value which is usually an |
| object or array, although it can also be a String, Boolean, Number or |
| null.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The optional replacer parameter is either a function that alters the way |
| objects and arrays are stringified or an array of Strings and Numbers |
| that act as a white list for selecting the object properties that will |
| be stringified.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The optional space parameter is a String or Number that allows the |
| result to have whitespace injected into it to improve human readability.</p> |
| </div> |
| <div class="paragraph"> |
| <p>For detailed information see [<a href="appendix_c_bibliography.html#ECMA11a">ECMA11a(p.S15.12.3)</a>].</p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div id="footer"> |
| <div id="footer-text"> |
| Version 0.9<br> |
| Last updated 2019-08-08 13:15:33 CEST |
| </div> |
| </div> |
| <!-- ************* docinfo-footer *************************************************************** --> |
| <div class="Grid social" style="color:#d5dfea"> |
| <div class="Cell Cell--2-12 m-Cell--withMargin"> |
| <h2>Quick Links</h2> |
| <ul> |
| <li><a href="../downloads.html">Download</a></li> |
| <li><a href="../userguides/index.html">Documentation</a></li> |
| <li><a href="https://github.com/eclipse/n4js/">Source</a></li> |
| <li><a href="https://github.com/eclipse/n4js/issues">Issues</a></li> |
| </ul> |
| </div> |
| <div class="Cell Cell--2-12 m-Cell--withMargin"> |
| <br/><br/> |
| <ul> |
| <li><a href="https://www.eclipse.org/forums/index.php/f/365/">Forum</a></li> |
| <li><a href="http://n4js.blogspot.de/">Blog</a></li> |
| <li><a href="https://dev.eclipse.org/mailman/listinfo/n4js-dev">Mailing List</a></li> |
| <li><a href="https://projects.eclipse.org/projects/technology.n4js">Eclipse Project Page</a></li> |
| <li><a href="https://twitter.com/n4jsdev">Tweets by n4jsdev</a></li> |
| </ul> |
| </div> |
| <div class="Cell Cell--2-12 m-Cell--withMargin"> |
| <br/><br/> |
| <ul> |
| <li><a href="http://www.eclipse.org/">Eclipse Home</a></li> |
| <li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li> |
| <li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li> |
| <li><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li> |
| <li><a href="http://www.eclipse.org/legal/">Legal</a></li> |
| </ul> |
| </div> |
| <div style="clear: both; height: 0; overflow: hidden;"></div> |
| </div> |
| |
| <!-- ************* UI Scripts ************* --> |
| <script type="text/javascript" src="scripts/back-to-top.js"></script> |
| |
| <script type="text/javascript" src="scripts/treeview.js"></script> |
| <script type="text/javascript" src="scripts/toc.js"></script> |
| |
| <!-- ************* Prism.js Syntax Highlighting ************* --> |
| <script src="scripts/prism.js"></script> |
| |
| <script type="text/javascript"> |
| // Add the 'toclist' id for search function |
| $(".toc2 > ul").attr('id', 'toclist'); |
| // Generate a Search input form |
| $("#toclist > li:first-of-type").before('<input type="text" id="pagesearch" onkeyup="search()" placeholder="Search for section...">'); |
| $("#toclist > li:first-of-type").before('<i id="clear" class="fa fa-times-circle-o"></i>'); |
| $("#clear").click(function(){ |
| $("#pagesearch").val(''); |
| search(); |
| $('.toc2 > ul').treeView('collapseAll'); |
| }); |
| // intialize Treeview.js |
| $(".toc2 > ul").treeView(); |
| // Initialize Scrollspy |
| </script> |
| <!-- ************* docinfo-footer *************************************************************** --> |
| </body> |
| </html> |