Skip to content
Permalink
master
Go to file
 
 
Cannot retrieve contributors at this time
5498 lines (5217 sloc) 300 KB
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Mcs.lagJs-(5-52-0.2020-08-10) Javascript-language</title>
<meta name="keywords" content="JavaScript, js, lagJs, Javascript-tutorial, browser-js, Node.js, Ljs, ljb, ljn, Mcs, structured-concept">
<link rel="stylesheet" href="https://synagonism.github.io/hitp/hitp.css">
</head>
<body>
<header id="idHeader">
<p></p>
<h1 id="idHeaderH1">Javascript-language structured-concept-Mcs
<br>(lagJs)
</h1>
</header>
<section id="idOverview">
<h1 id="idOverviewH1">overview of lagJs
<a class="clsHide" href="#idOverviewH1"></a></h1>
<p id="idDescription">description::
<br>· <strong>Javascript (lagJs)</strong> is the GENERIC language of <a class="clsPreview" href="filMcsLjb.last.html#idDescription">browser-Javascript (Ljb, client-side)</a>, <a class="clsPreview" href="filMcsLjn.last.html#idDescription">Node-Javascript (Ljn, server-side)</a>, desktop-Javascript (Ljd) and other differentiations.
<br>
<br>· Javascript was originally developed in {1995} by Brendan-Eich, at Netscape-Communications-Corporation. [<a href="https://en.wikipedia.org/wiki/Javascript#Beginnings_at_Netscape">en.wikipedia.org</a>]
<br>
<br>· <a class="clsPreview" href="../../#idAboutme">my</a> goal here is my text to be MONOSEMANTIC as possible, in contrast to existing texts, by defining most of the-names of my sentences.
<br>· ALSO, my text differs than the traditional one.
<br>· I publish <a class="clsPreview" href="../dirCor/filMcs.last.html#idDescription">STRUCTURED-CONCEPTS|ModelConceptStructureds (MCS)</a> in contrast to traditional text, that describes concepts.
<br>
<br>· this is a living concept (= an evolving concept), see and reference by <a class="clsPreview" href="#idMetaVersion">version</a>.
<br>· last-version is dynamic (do not reference with it), all others are static.
<br>· even-though the-work I have-put on this webpage-concept is NOT a small amount, much more is-needed.
<a class="clsHide" href="#idDescription"></a></p>
<p id="idName">name::
<br>* Mcs.filMcsLjs.last.html!⇒lagJs,
<br>* Mcs.dirTchInf/filMcsLjs.last.html!⇒lagJs,
<br>* Mcs.Ljs!⇒lagJs,
<br>* Mcs.lagJs'(JavaScript-language)!⇒lagJs,
<br>* Mcs.JavaScript!⇒lagJs,
<br>* Mcs.Javascript!⇒lagJs, {2019-03-05},
<br>* Mcs.Js-(Javascript)!⇒lagJs,
<br>* Mcs.lagJs, {2019-07-04},
<br>* Mcs.language.Javascript!⇒lagJs,
<a class="clsHide" href="#idName"></a></p>
<p id="idNameP1">history-of-name:
<br><span class="clsQuote">Although it was developed under the name <span class="clsBU">Mocha</span>, the language was officially called <span class="clsBU">LiveScript</span> when it first shipped in beta releases of Netscape Navigator 2.0 in September 1995, but it was renamed <span class="clsBU">JavaScript</span> when it was deployed in the Netscape browser version 2.0B3.
<br>The change of name from LiveScript to Javascript roughly coincided with Netscape adding support for Java technology in its Netscape Navigator Web browser.
<br>The final choice of name caused confusion, giving the impression that the language was a spin-off of the Java programming language, and the choice has been characterized as a marketing ploy by Netscape to give Javascript the cachet of what was then the hot new Web programming language.</span>
<br>[<a href="https://en.wikipedia.org/wiki/Javascript#Beginnings_at_Netscape">https://en.wikipedia.org/wiki/Javascript#Beginnings_at_Netscape</a>]
<br>
<br><span class="clsQuote">"JavaScript" is a trademark of Oracle Corporation.
<br>It is used under license for technology invented and implemented by Netscape Communications and current entities such as the Mozilla Foundation.</span>
<br>[<a href="https://en.wikipedia.org/wiki/JavaScript#Trademark">https://en.wikipedia.org/wiki/JavaScript#Trademark</a>]
<br>===
<br>THEN, JavaScript (with JS capital) is the-Javascript of Mozilla.
<br>I am-using the-names 'Javascript' and 'Ljs' for the generic <a class="clsPreview" href="#idDescription">language</a>.
<br>[HmnSgm.2016-07-22]
<a class="clsHide" href="#idNameP1"></a></p>
</section>
<section id="idLjsarc">
<h1 id="idLjsarcH1">archetype (input) of lagJs
<a class="clsHide" href="#idLjsarcH1"></a></h1>
<p id="idLjsarcdsn">description::
<br>· all languages, human and computer, MAP (represent | translate) one entity (the-archetype) to another (model|code|algorithm), for a-communication reason.
<br>· programing-languages map human-information-processing in a-format that machines can-process.
<br>· lagJs-ARCHETYPE is a-document describing a-process of information as done by humans.
<br>· <a class="clsPreview" href="#idLjshmnPmr">a-programer</a> MUST-KNOW an-archetype first, in order to create <a class="clsPreview" href="filMcsLjb.last.html#idLjbpgm">a-program</a>.
<a class="clsHide" href="#idLjsarcdsn"></a></p>
<p id="idLjsarcnam">name::
<br>* Mcs.lagJs'archetype,
<br>* Mcs.lagJs'problem,
<a class="clsHide" href="#idLjsarcnam"></a></p>
<p id="idLjsarcSpc">specific::
<br>* <a class="clsPreview" href="filMcsLjb.last.html#idLjbarc">Ljb-archetype</a>,
<br>* <a class="clsPreview" href="filMcsLjn.last.html#idLjnarc">Ljn-archetype</a>,
<a class="clsHide" href="#idLjsarcSpc"></a></p>
</section>
<section id="idLjsalg">
<h1 id="idLjsalgH1">algorithm (output) of lagJs
<a class="clsHide" href="#idLjsalgH1"></a></h1>
<p id="idLjsalgdsn">description::
<br>· algorithm of lagJs is <a class="clsPreview" href="filMcsLpgm.last.html#idLsrcalg">source-algo</a> mapping <a class="clsPreview" href="#idLjsarc">a-lagJs-archetype</a>.
<a class="clsHide" href="#idLjsalgdsn"></a></p>
<p id="idLjsalgnam">name::
<br>* Mcs.lagJs'algo!⇒lagJs-algo,
<br>* Mcs.lagJs'algorithm!⇒lagJs-algo,
<br>* Mcs.lagJs'model!⇒lagJs-algo,
<br>* Mcs.lagJs'source-doc!⇒lagJs-algo,
<br>* Mcs.lagJs-algo, {2019-07-04},
<br>* Mcs.lagJs-source-doc!⇒lagJs-algo,
<a class="clsHide" href="#idLjsalgnam"></a></p>
<section id="idLjsalgcode">
<h2 id="idLjsalgcodeH2">code of algo
<a class="clsHide" href="#idLjsalgcodeH2"></a></h2>
<p id="idLjsalgcodedsn">description::
<br>· lagJs-code is any part of <a class="clsPreview" href="#idLjsalg">an-lagJs-code-doc</a>.
<a class="clsHide" href="#idLjsalgcodedsn"></a></p>
<p id="idLjsalgcodenam">name::
<br>* Mcs.lagJs-code,
<br>* Mcs.lagJs-algo'code!⇒lagJs-code,
<br>* Mcs.code-of-Javascript!⇒lagJs-code,
<a class="clsHide" href="#idLjsalgcodenam"></a></p>
</section>
<section id="idLjssxt">
<h2 id="idLjssxtH2">syntax-tree of algo
<a class="clsHide" href="#idLjssxtH2"></a></h2>
<p id="idLjssxtdsn">description::
<br>· THE-STRUCTURE of <a class="clsPreview" href="#idLjsalg">a-source-document</a> is a-WHOLE-PART-TREE of <a class="clsPreview" href="#idLjsunt">units</a>, <a class="clsPreview" href="#idLjssut">semantic-units</a>, <a class="clsPreview" href="#idLjsfrs">phrases</a>, <a class="clsPreview" href="#idLjsstc">sentences</a>, <a class="clsPreview" href="#idLjsscn">sections</a> of the-language which parts we define in the-next sections.
<br>· this whole-part-tree is the-syntax-tree of the-source-document.
<br>· in contrast, <a class="clsPreview" href="#idLjsapi">the-API of the-language</a>, is structured in a-whole-part-tree and in a-generic-part-tree.
<br>[<a class="clsPreview" href="../../#idAboutme">HmnSgm</a>.2018-03-02]
<a class="clsHide" href="#idLjssxtdsn"></a></p>
<p id="idLjssxtnam">name::
<br>* Mcs.lagJs'syntax-tree,
<br>* Mcs.lagJs'syntax-whole-part-tree,
<br>* Mcs.lagJs-algo'syntax-tree,
<br>* Mcs.syntax-tree--of-Javascript,
<a class="clsHide" href="#idLjssxtnam"></a></p>
</section>
</section>
<section id="idLjsunt">
<h1 id="idLjsuntH1">algo'UNIT of lagJs
<a class="clsHide" href="#idLjsuntH1"></a></h1>
<p id="idLjsuntdsn">description::
<br>· in order to create <a class="clsPreview" href="#idLjsalg">an-algorithm</a> in any format, we must use other entities[1], that[1] REPRESENT NOTHING in <a class="clsPreview" href="#idLjsarc">archetype</a> and which[1] are INDIVISIBLE.
<br>· these are the-units of the-algorithm, and the entire algorithm is a whole-part-tree system of constructs of these units.
<br>· natural-languages use sounds or symbols.
<br>· flowcharts use graphs.
<br>· <a class="clsPreview" href="#idLjsalg">source-code</a> uses the-Unicode <a href="http://stackoverflow.com/a/2281684">character-set</a>.
<br><a class="clsPreview" href="filMcsLjb.last.html#idDescription">Ljb</a> and <a class="clsPreview" href="filMcsLjn.last.html#idDescription">Ljn</a> use the same code-units.
<a class="clsHide" href="filMcsLjb.last.html#idLjbuntdsn"></a></p>
<p id="idLjsuntnam">name::
<br>* Mcs.lagJs-algo'unit,
<br>* Mcs.lagJs'unit,
<br>* Mcs.unit--of-Javascript-code,
<a class="clsHide" href="#idLjsuntnam"></a></p>
</section>
<section id="idLjswrd">
<h1 id="idLjswrdH1">algo'WORD of lagJs
<a class="clsHide" href="#idLjswrdH1"></a></h1>
<p id="idLjswrddsn">description::
<br>Words are combinations of <a class="clsPreview" href="#idLjsunt">units</a>, that REPRESENT NOTHING, <a class="clsPreview" href="#idDescription">the-language</a> uses to create whole constructs with meaning (= denote <a class="clsPreview" href="#idLjsarc">archetype</a>).
<a class="clsHide" href="#idLjswrddsn"></a></p>
<p id="idLjswrdnam">name::
<br>* Mcs.lagJs-algo'word,
<br>* Mcs.lagJs'word,
<br>* Mcs.lagJs-word,
<a class="clsHide" href="#idLjswrdnam"></a></p>
</section>
<section id="idLjssut">
<h1 id="idLjssutH1">algo'SEMANTIC-UNIT of lagJs
<a class="clsHide" href="#idLjssutH1"></a></h1>
<p id="idLjssutdsn">description::
<br><a class="clsPreview" href="#idLjsalg">An-algorithm</a> is a-document with a-whole-part-tree-structure created by combining simpler parts.
<br>The-units (indivisible parts) that DENOTE <a class="clsPreview" href="#idLjsarc">ARCHETYPE</a>, used to create <a class="clsPreview" href="#idLjsalg">an-algorithm</a>, are the-semantic-units.
<br>Programing-languages use different semantic-units and combinations of semantic-units to create algorithms that map the same archetype.
<a class="clsHide" href="#idLjssutdsn"></a></p>
<p id="idLjssutnam">name::
<br>* Mcs.lagJs'data-type!⇒lagJs-Sunt,
<br>* Mcs.lagJs'data-structure!⇒lagJs-Sunt,
<br>* Mcs.lagJs'semantic-unit!⇒lagJs-Sunt,
<br>* Mcs.lagJs'Sunt!⇒lagJs-Sunt,
<br>* Mcs.lagJs'Sunit!⇒lagJs-Sunt,
<br>* Mcs.lagJs'untSmc!⇒lagJs-Sunt,
<br>* Mcs.lagJs'unit.semantic!⇒lagJs-Sunt,
<br>* Mcs.lagJs-algo'Sunt!⇒lagJs-Sunt,
<br>* Mcs.lagJs-Sunt,
<br>* Mcs.lagJs-Sunt(Javascript--semantic-unit)!⇒lagJs-Sunt,
<br>* Mcs.Sunt-of--Javascript-code!⇒lagJs-Sunt,
<br>* Mcs.data-type.Ljs!⇒lagJs-Sunt,
<br>* Mcs.data-structure.Ljs!⇒lagJs-Sunt,
<br>* Mcs.semantic-unit--of-Javascript-code!⇒lagJs-Sunt,
<a class="clsHide" href="#idLjssutnam"></a></p>
<p id="idLjssutwhl">whole-chain::
<br>=== (<a class="clsPreview" href="#idLjssxt">syntax--whole-part-tree</a>)
<br>* <a class="clsPreview" href="#idLjsfrs">lagJs-phrase</a>,
<br>* <a class="clsPreview" href="#idLjsstc">lagJs-sentence</a>,
<br>* <a class="clsPreview" href="#idLjsscn">lagJs-section</a>,
<br>* <a class="clsPreview" href="#idLjslbr">lagJs-library</a>,
<br>* <a class="clsPreview" href="#idLjspgm">lagJs-program</a>,
<br>=== (<a class="clsPreview" href="#idLjsapiwpt">API--whole-part-tree</a>)
<br>* another <a class="clsPreview" href="#idLjssut">semantic-unit</a>,
<br>...
<br>* <a class="clsPreview" href="#idLjsmwo">most-whole-object</a>,
<a class="clsHide" href="#idLjssutwhl"></a></p>
<p id="idLjssutgnc">generic-chain::
<br>* <a class="clsPreview" href="#idLjso">object</a>,
<br>or
<br>* <a class="clsPreview" href="#idLjsoNo">objectNo</a>,
<a class="clsHide" href="#idLjssutgnc"></a></p>
<p id="idLjssutprt">part::
<br>* <a class="clsPreview" href="#idLjswrd">lagJs-word</a>,
<br>* <a class="clsPreview" href="#idLjsunt">lagJs-unit</a>,
<a class="clsHide" href="#idLjssutprt"></a></p>
<section id="idLjssutname">
<h2 id="idLjssutnameH2">name of Sunt (identifier)
<a class="clsHide" href="#idLjssutnameH2"></a></h2>
<p id="idLjssutnamedsn">description::
<br>· most <a class="clsPreview" href="#idLjssut">semantic-units</a> are anonymous.
<br>· the-code below, shows how we give names to semantic-units.
<br>· the-name we give to a-semantic-unit when we create <a class="clsPreview" href="#idLjssutRfrd">a-name-value-pair</a>, I call <span class="clsColorRed">REFERENCE-NAME</span>.
<br>· a-semantic-unit can have many reference-names.
<br>· the other name that a-semantic-unit can-have (as a-member of it) I call <span class="clsColorRed">INTERNAL-NAME</span>.
<a class="clsHide" href="#idLjssutnamedsn"></a></p>
<p id="idLjssutnamecod">code.Ljs::
<br><code>> function f(){} //function with internal-name
<br>> var f = function(){} //anonymous function, with reference-name
<br>> var f = function f2(){} //function with internal and reference name
<br>> [1,2] //anonymous array, lost in global
<br>> var a = [1,2] //anonymous array, with reference-name
<br>> a.name = 'sgm' //array with internal and reference name
<br>> b = a //another reference-name for sgm-array
<br>> c = b //another reference-name for sgm-array
<br>> c.name //gives 'sgm'</code>
<a class="clsHide" href="#idLjssutnamecod"></a></p>
<p id="idLjssutnamenam">name::
<br>* Mcs.lagJs'identifier!⇒lagJs-Sunt-name,
<br>* Mcs.lagJs'name-of-semantic-unit!⇒lagJs-Sunt-name,
<br>* Mcs.lagJs-Sunt'name!⇒lagJs-Sunt-name,
<br>* Mcs.lagJs-Sunt-name, {2019-03-18},
<br>* Mcs.name-of-semantic-unit.Javascript!⇒lagJs-Sunt-name,
<a class="clsHide" href="#idLjssutnamenam"></a></p>
<section id="idLjssutnamExl">
<h3 id="idLjssutnamExlH3">Sunt-name.EXTERNAL (reference)
<a class="clsHide" href="#idLjssutnamExlH3"></a></h3>
<p id="idLjssutnamExldsn">description::
<br>· we can-assign|bind a-name to <a class="clsPreview" href="#idLjssut">a-semantic-unit</a>.
<br>· this name it is-not a-member of the-semantic-unit.
<br>· I call it <span class="clsColorRed">EXTERNAL-NAME</span>.
<br>· a-semantic-unit can-have many external-names.
<br>[<a class="clsPreview" href="../../#idAboutme">HmnSgm</a>.2018-01-06]
<br>===
<br>The-name of <a class="clsPreview" href="#idLjssutRfrd">a-name-value-pair</a> is-called idenfier.
<br>An-identifier must start with a letter, underscore (_), or dollar sign ($); subsequent characters can also be digits (0-9).
<a class="clsHide" href="#idLjssutnamExldsn"></a></p>
<p id="idLjssutnamExlnam">name::
<br>* Mcs.external-name--of--semantic-unit.Javascript,
<br>* Mcs.lagJs'reference,
<br>* Mcs.lagJs'reference-name,
<br>* Mcs.lagJs-Sunt'reference-name,
<br>* lagJs-Sunt-name.external,
<br>* lagJs-Sunt-name.reference,
<br>* Mcs.lagJs'variable-name,
<br>* Mcs.lagJs'variable-reference,
<br>* Mcs.reference-name--of--semantic-unit.Javascript,
<a class="clsHide" href="#idLjssutnamExlnam"></a></p>
<section id="idLjssutnamExlTyp">
<h4 id="idLjssutnamExlTypH4">Sunt-name.external.TYPENAME
<a class="clsHide" href="#idLjssutnamExlTypH4"></a></h4>
<p id="idLjssutnamExlTypdsn">description::
<br>· valuename|typename is an-identifier which denotes its value|type.
<br>· since {2014-08-05} <a class="clsPreview" href="../../#idAboutme">I</a> am-using <a class="clsPreview" href="filMcsLhitp.last.html#idEvnPara10d">typenames</a> in my code, which makes the-code much more readable.
<a class="clsHide" href="#idLjssutnamExlTypdsn"></a></p>
<p id="idLjssutnamExlTypnam">name::
<br>* Mcs.lagJs'typename,
<br>* Mcs.lagJs'valuename,
<br>* Mcs.typename.Javascript,
<br>* Mcs.valuename.Javascript,
<a class="clsHide" href="#idLjssutnamenam"></a></p>
<p id="idLjssutnamExlTypSpc">specific::
<br>In <a class="clsPreview" href="#idDescription">Javascript</a> we need only 11 typenames to denote ALL its types:
<br>01) <a class="clsPreview" href="#idLjsa">aName for Arrays</a>,
<br>02) <a class="clsPreview" href="#idLjsb">bName for Booleans</a>,
<br>03) <a class="clsPreview" href="#idLjsf">fName for Functions</a>,
<br>04) <a class="clsPreview" href="#idLjsl">lName for nuLl</a>,
<br>05) <a class="clsPreview" href="filMcsLjn.last.html#idLjnm">mName for Modules</a>,
<br>06) <a class="clsPreview" href="#idLjsn">nName for Numbers</a>,
<br>07) <a class="clsPreview" href="#idLjso">oName for Objects</a>,
<br>08) <a class="clsPreview" href="#idLjsr">rName for Regexps</a>,
<br>09) <a class="clsPreview" href="#idLjss">sName for Strings</a>,
<br>10) <a class="clsPreview" href="#idLjsu">uName for Undefined</a>,
<br>11) <a class="clsPreview" href="#idLjsx">xName for miXed-name-value-pairs</a>,
<a class="clsHide" href="#idLjssutnamExlTypSpc"></a></p>
</section>
</section>
</section>
<section id="idLjssutnamInl">
<h3 id="idLjssutnamInlH3">Sunt-name.INTERNAL
<a class="clsHide" href="#idLjssutnamInlH3"></a></h3>
<p id="idLjssutnamInldsn">description::
<br>· a-semantic-unit can-have a-name which is a-member of it.
<br>· I call it, <span class="clsColorRed">INTERNAL-NAME</span>.
<br><code>> function f(){} //function with internal-name
<br>> f.name // "f"</code>
<br>[<a class="clsPreview" href="../../#idAboutme">HmnSgm</a>.2018-01-06]
<a class="clsHide" href="#idLjssutnamInldsn"></a></p>
<p id="idLjssutnamInlnam">name::
<br>* Mcs.internal-name--of--semantic-unit.Javascript,
<br>* Mcs.lagJs-Sunt'internal-name,
<br>* lagJs-Sunt-name.Internal,
<a class="clsHide" href="#idLjssutnamInlnam"></a></p>
</section>
</section>
<section id="idLjssutscp">
<h2 id="idLjssutscpH2">scope of Sunt
<a class="clsHide" href="#idLjssutscpH2"></a></h2>
<p id="idLjssutscpdsn">description::
<br>· scope-of-a-semantic-unit is the-region of the-program in which it is accessible|visible.
<br>· the-scope determines <a class="clsPreview" href="#idLjsapiwpt">the-whole-part-tree-API</a>.
<br>· in other words, the-scope-of-a-semantic-unit is its whole-relation.
<br>[<a class="clsPreview" href="../../#idAboutme">HmnSgm</a>.2018-01-05]
<a class="clsHide" href="#idLjssutscpdsn"></a></p>
<p id="idLjssutscpnam">name::
<br>* Mcs.lagJs'scope,
<br>* Mcs.scope-of--semantic-unit.Javascript,
<a class="clsHide" href="#idLjssutscpnam"></a></p>
<p id="idLjssutscpSpc">specific::
<br>* block-scope,
<br>* function-scope,
<br>* object-scope,
<br>* module-scope,
<a class="clsHide" href="#idLjssutscpSpc"></a></p>
</section>
<section id="idLjssutSpc">
<h2 id="idLjssutSpcH2">Sunt.SPECIFIC
<a class="clsHide" href="#idLjssutSpcH2"></a></h2>
<p id="idLjssutSpcP1">specific::
<br><a class="clsPreview" href="#idDescription">lagJs</a> uses only 11 <a class="clsPreview" href="#idLjssut">semantic-units</a> to create <a class="clsPreview" href="#idLjsalg">algorithms</a>:
<br>01) <a class="clsPreview" href="#idLjsa">a - Array</a>,
<br>02) <a class="clsPreview" href="#idLjsb">b - Boolean</a>,
<br>03) <a class="clsPreview" href="#idLjsf">f - Function</a>,
<br>04) <a class="clsPreview" href="#idLjsl">l - nuLl</a>,
<br>05) <a class="clsPreview" href="filMcsLjn.last.html#idLjnm">m - Module</a>,
<br>06) <a class="clsPreview" href="#idLjsn">n - Number</a>,
<br>07) <a class="clsPreview" href="#idLjso">o - Object</a>,
<br>08) <a class="clsPreview" href="#idLjsr">r - Regexp</a>,
<br>09) <a class="clsPreview" href="#idLjss">s - String</a>,
<br>10) <a class="clsPreview" href="#idLjsu">u - Undefined</a>,
<br>11) <a class="clsPreview" href="#idLjsx">x - miXed</a>,
<a class="clsHide" href="#idLjssutSpcP1"></a></p>
<p id="idLjssutSpcAlpha">Specific.alphabetically::
<br>* <a class="clsPreview" href="#idLjsa">array--semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjsb">boolean--semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjssutCsm">custom--semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjssutCsmNo">customNo--semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjsf">function--semantic-unit</a>,
<br>* <a class="clsPreview" href="filMcsLjb.last.html#idLjbsut">Ljb-semantic-unit</a>,
<br>* <a class="clsPreview" href="filMcsLjn.last.html#idLjnsut">Ljn-semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjssutRfrd">name-semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjssutSnamN">nameNo-semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjsx">name-value-pair-mixed--semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjsxNo">name-value-pair-mixedNo--semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjssutSnamN">name-value-pair-No--semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjsl">null--semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjsn">number--semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjso">object--semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjsoNo">objectNo--semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjsr">regexp--semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjss">string--semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjsu">undefined--semantic-unit</a>,
<a class="clsHide" href="#idLjssutSpcAlpha"></a></p>
<section id="idLjssutcod">
<h3 id="idLjssutcodH3">Sunt.Code
<a class="clsHide" href="#idLjssutcodH3"></a></h3>
<p id="idLjssutcoddsn">description::
<br>Code-semantic-unit is <a class="clsPreview" href="#idLjssut">a-semantic-unit</a> written in <a class="clsPreview" href="#idLjsalg">code-format</a>.
<a class="clsHide" href="#idLjssutcodDes"></a></p>
<p id="idLjssutcodnam">name::
<br>* Mcs.lagJs'semantic-unit.code,
<br>* Mcs.lagJs'semantic-unit.code,
<br>* Mcs.lagJs'code-semantic-unit,
<a class="clsHide" href="#idLjssutcodnam"></a></p>
</section>
</section>
<section id="idLjssutSpcDlt">
<h2 id="idLjssutSpcDltH2">Sunt.SPECIFIC-DIVISION.dialect
<a class="clsHide" href="#idLjssutSpcDltH2"></a></h2>
<p id="idLjssutSpcDltP1">specific::
<br>* <a class="clsPreview" href="filMcsLjb.last.html#idLjbsut">Ljb-semantic-unit</a>,
<br>* <a class="clsPreview" href="filMcsLjn.last.html#idLjnsut">Ljn-semantic-unit</a>,
<a class="clsHide" href="#idLjssutSpcDltP1"></a></p>
</section>
<section id="idLjssutSpcObt">
<h2 id="idLjssutSpcObtH2">Sunt.SPECIFIC-DIVISION.object
<a class="clsHide" href="#idLjssutSpcObtH2"></a></h2>
<p id="idLjssutSpcObtP1">specific::
<br>* <a class="clsPreview" href="#idLjso">object-semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjsoNo">objectNo-semantic-unit</a>,
<a class="clsHide" href="#idLjssutSpcObtP1"></a></p>
<section id="idLjsoNo">
<h3 id="idLjsoNoH3">Sunt.objectNo
<a class="clsHide" href="#idLjsoNoH3"></a></h3>
<p id="idLjsoNodsn">description::
<br>objectNo is <a class="clsPreview" href="#idLjssut">a-semantic-unit</a> which is NOT <a class="clsPreview" href="#idLjso">object</a>, it is NOT specific of <a class="clsPreview" href="#idLjsmgo">Object.prototype</a>.
<br>Only 2 semantic-units are not objects: <code><a class="clsPreview" href="#idLjsl">null</a></code>, <code><a class="clsPreview" href="#idLjsu">undefined</a></code>.
<a class="clsHide" href="#idLjsoNodsn"></a></p>
<p id="idLjsoNonam">name::
<br>* Mcs.lagJs'objectNo-semantic-unit,
<br>* Mcs.lagJs-Sunt.objectNo,
<a class="clsHide" href="#idLjsoNonam"></a></p>
</section>
</section>
<section id="idLjssutSpcCsm">
<h2 id="idLjssutSpcCsmH2">Sunt.SPECIFIC-DIVISION.creator
<a class="clsHide" href="#idLjssutSpcCsmH2"></a></h2>
<p id="idLjssutSpcCsmP1">specific::
<br>* <a class="clsPreview" href="#idLjssutCsm">custom-semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjssutCsmNo">customNo-semantic-unit</a>,
<a class="clsHide" href="#idLjssutSpcCsmP1"></a></p>
<section id="idLjssutCsm">
<h3 id="idLjssutCsmH3">Sunt.Custom
<a class="clsHide" href="#idLjssutCsmH3"></a></h3>
<p id="idLjssutCsmdsn">description::
<br><a class="clsPreview" href="#idLjssut">A-semantic-unit</a> created by <a class="clsPreview" href="#idLjshmnPmr">a-programer</a>.
<a class="clsHide" href="#idLjssutCsmdsn"></a></p>
<p id="idLjssutCsmnam">name::
<br>* Mcs.lagJs'builtinNo-semantic-unit,
<br>* Mcs.lagJs'custom-semantic-unit,
<br>* Mcs.lagJs'nativeNo-semantic-unit,
<br>* Mcs.lagJs'standardNo-semantic-unit,
<br>* Mcs.lagJs-Sunt.custom,
<a class="clsHide" href="#idLjssutCsmnam"></a></p>
<section id="idLjssutCsmOwn">
<h4 id="idLjssutCsmOwnH4">Sunt.custom.OWN (dependencyNo)
<a class="clsHide" href="#idLjssutCsmOwnH4"></a></h4>
<p id="idLjssutCsmOwndsn">description::
<br><a class="clsPreview" href="#idLjssut">A-semantic-unit</a> created by <a class="clsPreview" href="#idLjshmnPmr">a-programer</a> in a specific program|library.
<a class="clsHide" href="#idLjssutCsmOwndsn"></a></p>
<p id="idLjssutCsmOwnnam">name::
<br>* Mcs.lagJs'customInternal-semantic-unit,
<br>* Mcs.lagJs'customOwn-semantic-unit,
<br>* Mcs.lagJs'dependencyNo-semantic-unit,
<br>* Mcs.lagJs'dependentNo-semantic-unit,
<br>* Mcs.lagJs'independent-semantic-unit,
<br>* Mcs.lagJs'ownCustom-semantic-unit,
<br>* Mcs.lagJs-Sunt.customOwn,
<a class="clsHide" href="#idLjssutCsmOwnnam"></a></p>
</section>
<section id="idLjssutCsmOwnNo">
<h4 id="idLjssutCsmOwnNoH4">Sunt.custom.OWN.NO (dependency)
<a class="clsHide" href="#idLjssutCsmOwnNoH4"></a></h4>
<p id="idLjssutCsmOwnNodsn">description::
<br><a class="clsPreview" href="#idLjssut">A-semantic-unit</a> created by <a class="clsPreview" href="#idLjshmnPmr">a-programer</a> in ANOTHER program|library.
<a class="clsHide" href="#idLjssutCsmOwnNodsn"></a></p>
<p id="idLjssutCsmOwnNonam">name::
<br>* Mcs.lagJs'customExternal-semantic-unit,
<br>* Mcs.lagJs'customOwnNo-semantic-unit,
<br>* Mcs.lagJs'dependency-semantic-unit,
<br>* Mcs.lagJs'dependent-semantic-unit,
<br>* Mcs.lagJs'independentNo-semantic-unit,
<br>* Mcs.lagJs'ownNoCustom-semantic-unit,
<br>* Mcs.lagJs-Sunt.customOwnNo,
<a class="clsHide" href="#idLjssutCsmOwnNonam"></a></p>
</section>
</section>
<section id="idLjssutCsmNo">
<h3 id="idLjssutCsmNoH3">Sunt.CustomNo (native)
<a class="clsHide" href="#idLjssutCsmNoH3"></a></h3>
<p id="idLjssutCsmNodsn">description::
<br><a class="clsPreview" href="#idLjssut">A-semantic-unit</a> created by <a class="clsPreview" href="#idLjshmnCtr">the-language-creator</a>.
<a class="clsHide" href="#idLjssutCsmNodsn"></a></p>
<p id="idLjssutCsmNonam">name::
<br>* Mcs.lagJs'builtin-semantic-unit,
<br>* Mcs.lagJs'built-in-semantic-unit,
<br>* Mcs.lagJs'customNo-semantic-unit,
<br>* Mcs.lagJs'native-semantic-unit,
<br>* Mcs.lagJs'standard-semantic-unit,
<br>* Mcs.lagJs-Sunt.customNo,
<a class="clsHide" href="#idLjssutCsmNonam"></a></p>
</section>
<section id="idLjssutInl">
<h3 id="idLjssutInlH3">Sunt.Internal
<a class="clsHide" href="#idLjssutInlH3"></a></h3>
<p id="idLjssutInldsn">description::
<br><a class="clsPreview" href="#idLjssut">A-semantic-unit</a> created inside a-program|library.
<a class="clsHide" href="#idLjssutInldsn"></a></p>
<p id="idLjssutInlnam">name::
<br>* Mcs.lagJs'exteranlNo-semantic-unit,
<br>* Mcs.lagJs'internal-semantic-unit,
<br>* Mcs.lagJs'own-semantic-unit,
<br>* Mcs.lagJs'own-semantic-unit,
<a class="clsHide" href="#idLjssutInlnam"></a></p>
</section>
<section id="idLjssutInlNo">
<h3 id="idLjssutInlNoH3">Sunt.InternalNo (external)
<a class="clsHide" href="#idLjssutInlNoH3"></a></h3>
<p id="idLjssutInlNodsn">description::
<br><a class="clsPreview" href="#idLjssut">A-semantic-unit</a> created OUTSIDE of a-program|library, <a class="clsPreview" href="#idLjssutCsmNo">native</a> or <a class="clsPreview" href="#idLjssutCsm">custom</a>.
<a class="clsHide" href="#idLjssutInlNodsn"></a></p>
<p id="idLjssutInlNonam">name::
<br>* Mcs.lagJs'exteranal-semantic-unit,
<br>* Mcs.lagJs'internalNo-semantic-unit,
<br>* Mcs.lagJs'ownNo-semantic-unit,
<br>* Mcs.lagJs-Sunt.external,
<a class="clsHide" href="#idLjssutInlNonam"></a></p>
</section>
</section>
<section id="idLjssutSnam">
<h2 id="idLjssutSnamH2">Sunt.SPECIFIC-DIVISION.<a class="clsPreview" href="#idLjssutnamExl">reference</a>
<a class="clsHide" href="#idLjssutSnamH2"></a></h2>
<p id="idLjssutSnamP1">specific::
<br>* <a class="clsPreview" href="#idLjssutRfrd">referenced--semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjssutSnamN">referencedNo--semantic-unit</a>,
<a class="clsHide" href="#idLjssutSnamP1"></a></p>
</section>
<section id="idLjssutRfrd">
<h2 id="idLjssutRfrdH2">Sunt.REFERENCED (lagJs-Nvp)
<a class="clsHide" href="#idLjssutRfrdH2"></a></h2>
<p id="idLjssutRfrdcrd">created:: {2017-06-11},
<a class="clsHide" href="#idLjssutRfrdcrd"></a></p>
<p id="idLjssutRfrddsn">description::
<br>· referenced-semantic-unit is <a class="clsPreview" href="#idLjssut">a-semantic-unit</a> which HAS <a class="clsPreview" href="#idLjssutnamExl">a-reference-name</a> associated with it.
<br>[<a class="clsPreview" href="../../#idAboutme">HmnSgm</a>.2018-01-07]
<a class="clsHide" href="#idLjssutRfrddsn"></a></p>
<p id="idLjssutRfrdnam">name::
<br>* Mcs.lagJs'SutRef!⇒lagJs-Nvp,
<br>* Mcs.lagJs'Nvp!⇒lagJs-Nvp,
<br>* Mcs.lagJs'anonymousNo-semantic-unit!⇒lagJs-Nvp,
<br>* Mcs.lagJs'named-semantic-unit!⇒lagJs-Nvp,
<br>* Mcs.lagJs'name-value-pair!⇒lagJs-Nvp,
<br>* Mcs.lagJs'referenced-semantic-unit!⇒lagJs-Nvp,
<br>* Mcs.lagJs'variable!⇒lagJs-Nvp,
<br>* Mcs.lagJs-Nvp, {2019-03-16},
<br>* Mcs.lagJs-Nvp'(Javascript--name-value-pair)!⇒lagJs-Nvp,
<br>* Mcs.lagJs-Sunt.referenced!⇒lagJs-Nvp,
<br>* Mcs.lagJs-v!⇒lagJs-Nvp,
<br>* Mcs.referenced-semantic-unit.Javascript!⇒lagJs-Nvp,
<br>* Mcs.variable.Javascript!⇒lagJs-Nvp,
<a class="clsHide" href="#idLjssutRfrdnam"></a></p>
<section id="idLjssutRfrdref">
<h3 id="idLjssutRfrdrefH3">name of Nvp
<a class="clsHide" href="#idLjssutRfrdrefH3"></a></h3>
<p id="idLjssutRfrdrefdsn">description::
<br>· <a class="clsPreview" href="#idLjssutnamExl">the-external-name</a> of <a class="clsPreview" href="#idLjssutRfrd">a-referenced-semantic-unit</a>.
<br>[<a class="clsPreview" href="../../#idAboutme">HmnSgm</a>.2018-01-07]
<a class="clsHide" href="#idLjssutRfrdrefdsn"></a></p>
<p id="idLjssutRfrdrefnam">name::
<br>* Mcs.lagJs-Nvp'name,
<a class="clsHide" href="#idLjssutRfrdrefnam"></a></p>
</section>
<section id="idLjssutRfrdval">
<h3 id="idLjssutRfrdvalH3">value of lagJs-Nvp
<a class="clsHide" href="#idLjssutRfrdvalH3"></a></h3>
<p id="idLjssutRfrdvaldsn">description::
<br>The-information we assign in the-name of <a class="clsPreview" href="#idLjssutRfrd">a-name-value-pair</a> is-called value.
<a class="clsHide" href="#idLjssutRfrdvaldsn"></a></p>
<p id="idLjssutRfrdvalnam">name::
<br>* Mcs.lagJs'value,
<br>* Mcs.lagJs-Nvp'value,
<a class="clsHide" href="#idLjssutRfrdvalnam"></a></p>
</section>
<section id="idLjssutRfrddfn">
<h3 id="idLjssutRfrddfnH3">definition of lagJs-Nvp (<a class="clsPreview" href="#idLjsdefRef">link</a>)
<a class="clsHide" href="#idLjssutRfrddfnH3"></a></h3>
</section>
<section id="idLjssutRfrdSpc">
<h3 id="idLjssutRfrdSpcH3">lagJs-Nvp.SPECIFIC
<a class="clsHide" href="#idLjssutRfrdSpcH3"></a></h3>
<p id="idLjssutRfrdSpcP1">specific::
<br>=== SPECIFIC-DIVISION-on-different-type-of-values
<br>* <a class="clsPreview" href="#idLjsx">mixed--referenced-semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjsxN">mixedNo--referenced-semantic-unit</a>,
<br>=== SPECIFIC-DIVISION-on-one-value
<br>* <a class="clsPreview" href="#idLjsutCst">constant--referenced-semantic-unit</a>,
<br>* <a class="clsPreview" href="#idLjssutCstN">constantNo--referenced-semantic-unit</a>,
<br>===
<br>* array-nvp (var a = []),
<br>* boolean-nvp (var b = true),
<br>* function-nvp (var f = function(){}),
<br>* module-nvp (var m = require('os')),
<br>* number-nvp (var n = 3),
<br>* object-nvp (var o = {}),
<br>* regexp-nvp (var r = /x/),
<br>* string-nvp (var s = 'a-string'),
<a class="clsHide" href="#idLjssutRfrdSpcP1"></a></p>
</section>
</section>
<section id="idLjsx">
<h2 id="idLjsxH2">Nvp.MIXED (lagJs-x)
<a class="clsHide" href="#idLjsxH2"></a></h2>
<p id="idLjsxdsn">description::
<br>· mixed is <a class="clsPreview" href="#idLjssutRfrd">a-name-value-pair</a> that contains different <a class="clsPreview" href="#idLjssut">semantic-units</a>.
<br>· this attribute makes the-Javascript a-dynamic-language.
<br>[<a class="clsPreview" href="../../#idAboutme">HmnSgm</a>.2018-01-07]
<a class="clsHide" href="#idLjsxdsn"></a></p>
<p id="idLjsxnam">name::
<br>* Mcs.lagJs'mixed--semantic-unit,
<br>* Mcs.lagJs-Nvp.mixed,
<br>* Mcs.lagJs-Sunt.mixed,
<br>* Mcs.lagJs-x,
<br>* Mcs.mixed--semantic-unit--of-Javascript-(lagJs-x),
<a class="clsHide" href="#idLjsxnam"></a></p>
</section>
<section id="idLjsxN">
<h2 id="idLjsxNH2">Nvp.MIXED.NO
<a class="clsHide" href="#idLjsxNH2"></a></h2>
<p id="idLjsxNdsn">description::
<br>· mixedNo-name-value-pair is <a class="clsPreview" href="#idLjssutRfrd">a-name-value-pair</a> which ASSOCIATES only ONE type of <a class="clsPreview" href="#idLjssutRfrdval">value</a> with <a class="clsPreview" href="#idLjssutRfrdref">its-name</a>.
<br>[<a class="clsPreview" href="../../#idAboutme">HmnSgm</a>.2018-01-07]
<a class="clsHide" href="#idLjsxNdsn"></a></p>
<p id="idLjsxNnam">name::
<br>* Mcs.lagJs'mixedNo-name-value-pair--semantic-unit,
<br>* Mcs.lagJs'mixedNo-semantic-unit,
<br>* Mcs.lagJs-Nvp.mixedNo,
<br>* Mcs.lagJs-Sunt.mixedNo,
<a class="clsHide" href="#idLjsxNnam"></a></p>
</section>
<section id="idLjsutCst">
<h2 id="idLjsutCstH2">Nvp.CONSTANT
<a class="clsHide" href="#idLjsutCstH2"></a></h2>
<p id="idLjsutCstdsn">description::
<br><span class="clsQuote">The <code>const</code> declaration creates a read-only reference to a value.
<br>It does not mean the value it holds is immutable, just that the variable identifier cannot be reassigned.</span>
[<a href="https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/const">https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/const</a>]
<a class="clsHide" href="#idLjsutCstdsn"></a></p>
<p id="idLjsutCstnam">name::
<br>* Mcs.lagJs'constant-name-value-pair,
<br>* Mcs.lagJs'const-name-value-pair,
<br>* Mcs.lagJs'constant,
<br>* Mcs.lagJs-Nvp.constant,
<br>* Mcs.lagJs-Sunt.constant,
<a class="clsHide" href="#idLjsutCstnam"></a></p>
</section>
<section id="idLjssutCstN">
<h2 id="idLjssutCstNH2">Nvp.CONSTANT.NO
<a class="clsHide" href="#idLjssutCstNH2"></a></h2>
<p id="idLjssutCstNdsn">description::
<br><span class="clsQuote">The scope of a variable declared with <code>var</code> is its current execution context, which is either the enclosing function or, for variables declared outside any function, global.</span>
[<a href="https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/var">https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/var</a>]
<a class="clsHide" href="#idLjssutCstNdsn"></a></p>
<p id="idLjssutCstNnam">name::
<br>* Mcs.lagJs'constantNo-name-value-pair,
<br>* Mcs.lagJs-Nvp.constantNo,
<br>* Mcs.lagJs-Nvp.variable,
<br>* Mcs.lagJs-Sunt.constantNo-name-value-pair,
<a class="clsHide" href="#idLjssutCstNnam"></a></p>
</section>
<section id="idLjssutSnamN">
<h2 id="idLjssutSnamNH2">Sunt.REFERENCED.NO
<a class="clsHide" href="#idLjssutSnamNH2"></a></h2>
<p id="idLjssutSnamNdsn">description::
<br>NameNo is <a class="clsPreview" href="#idLjssut">a-semantic-unit</a> which HAS NO <a class="clsPreview" href="#idLjssutname">a-name</a> associated with it.
<a class="clsHide" href="#idLjssutSnamNdsn"></a></p>
<p id="idLjssutSnamNnam">name::
<br>* Mcs.lagJs'anonymous-semantic-unit,
<br>* Mcs.lagJs'namedNo-semantic-unit,
<br>* Mcs.lagJs'referencedNo-semantic-unit,
<br>* Mcs.lagJs-Sunt.referencedNo,
<a class="clsHide" href="#idLjssutSnamNnam"></a></p>
</section>
<section id="idLjsa">
<h2 id="idLjsaH2">Sunt.array (lagJs-a)
<a class="clsHide" href="#idLjsaH2"></a></h2>
<p id="idLjsadsn">description::
<br>· array is an-ordered-collection of other <a class="clsPreview" href="#idLjssut">semantic-units</a>.
<br>· <a class="clsPreview" href="#idLjsalg">code-example</a>:
<br><code>var a = [true, 1, {n:1}, /d/, 's'];</code>
<a class="clsHide" href="#idLjsadsn"></a></p>
<p id="idLjsanam">name::
<br>* Mcs.array--semantic-unit--of-Javascript!⇒lagJs-a,
<br>* Mcs.Ljn'array!⇒lagJs-a,
<br>* Mcs.lagJs'array!⇒lagJs-a,
<br>* Mcs.lagJs'array--semantic-unit!⇒lagJs-a,
<br>* Mcs.Ljn-a!⇒lagJs-a,
<br>* Mcs.lagJs-a, {2019-03-15},
<br>* Mcs.lagJs-a'(Javascript-array)!⇒lagJs-a,
<br>* Mcs.lagJs-array!⇒lagJs-a,
<br>* Mcs.lagJs-Sunt.array!⇒lagJs-a,
<a class="clsHide" href="#idLjsanam"></a></p>
<p id="idLjsagnc">generic-chain::
<br>* <a class="clsPreview" href="#idLjsArrayp">Array.prototype</a>, (<code>[].__proto__ === Array.prototype //true</code>)
<br>* <a class="clsPreview" href="#idLjsmgo">Object.prototype</a>, (<code>[].__proto__.__proto__ === Object.prototype //true</code>)
<a class="clsHide" href="#idLjsagnc"></a></p>
<section id="idLjsacrt">
<h3 id="idLjsacrtH3">lagJs-a'creating
<a class="clsHide" href="#idLjsacrtH3"></a></h3>
<p id="idLjsacrtdsn">description::
<br><a class="clsPreview" href="#idLjsalg">Code</a>:
<br><code>var a1 = [1, 's'];
<br>//===
<br>var a2 = new Array(1, 's');</code>
<a class="clsHide" href="#idLjsacrtdsn"></a></p>
<p id="idLjsacrtnam">name::
<br>* Mcs.lagJs-a'creation,
<a class="clsHide" href="#idLjsacrtnam"></a></p>
</section>
<section id="idLjsaelt">
<h3 id="idLjsaeltH3">lagJs-a'element
<a class="clsHide" href="#idLjsaeltH3"></a></h3>
<p id="idLjsaeltdsn">description::
<br>· elements|items are the-entities an-array contains.
<br>To access them <a class="clsPreview" href="#idDescription">lagJs</a> uses <a class="clsPreview" href="#idLjsalg">the-code</a>:
<br><code>a[nIndex]</code>
<a class="clsHide" href="#idLjsaeltdsn"></a></p>
<p id="idLjsaeltnam">name::
<br>* Mcs.lagJs-a'element,
<br>* Mcs.lagJs-a'item,
<a class="clsHide" href="#idLjsaeltnam"></a></p>
</section>
<section id="idLjsaidx">
<h3 id="idLjsaidxH3">lagJs-a'index
<a class="clsHide" href="#idLjsaidxH3"></a></h3>
<p id="idLjsaidxdsn">description::
<br>· index-of-array is a-number (starts with 0) that denotes the-order of one of its <a class="clsPreview" href="#idLjsaelt">elements</a>.
<a class="clsHide" href="#idLjsaidxdsn"></a></p>
<p id="idLjsaidxnam">name::
<br>* Mcs.lagJs-a'index,
<a class="clsHide" href="#idLjsaidxnam"></a></p>
</section>
<section id="idLjsambr">
<h3 id="idLjsambrH3">lagJs-a'member
<a class="clsHide" href="#idLjsambrH3"></a></h3>
<p id="idLjsambrdsn">description::
<br>· arrays are-considered <a class="clsPreview" href="#idLjsoCsr">objects</a> of <a class="clsPreview" href="#idLjsArray">the-Array-constructor-function</a>, with <a class="clsPreview" href="#idLjsognc">generic</a> <a class="clsPreview" href="#idLjsArrayp">the-Array.prototype-object</a>.
<br>In other words, <a class="clsPreview" href="#idLjsArraypmbr">the-members-of-the-Array.prototype-object</a> are-inherited by all <a class="clsPreview" href="#idLjsa">arrays</a>.
<br>Also, any array[1] can-have extra <a class="clsPreview" href="#idLjsombr">members</a> in addition to its[1] inherited members and to its[1] <a class="clsPreview" href="#idLjsaelt">elements</a>.
<br><a class="clsPreview" href="#idLjsalg">Code</a>:
<br><code>a.n = 3;</code>
<a class="clsHide" href="#idLjsambrdsn"></a></p>
<p id="idLjsambrnam">name::
<br>* Mcs.lagJs-a'member,
<a class="clsHide" href="#idLjsambrnam"></a></p>
<p id="idLjsambrmbr">member::
<br>// Chrome62 Object.getOwnPropertyNames([]).sort()).join(', '))
<br>[length]
<br>// Object.getOwnPropertyNames([].__proto__).sort()).join(', '))
<br>[concat, constructor, copyWithin, entries, every, fill, filter, find, findIndex, forEach, includes, indexOf, join, keys, lastIndexOf, length, map, pop, push, reduce, reduceRight, reverse, shift, slice, some, sort, splice, toLocaleString, toString, unshift]
<br>// Object.getOwnPropertyNames([].__proto__.__proto__).sort()).join(', '))
<br>[__defineGetter__, __defineSetter__, __lookupGetter__, __lookupSetter__, __proto__, constructor, hasOwnProperty, isPrototypeOf, propertyIsEnumerable, toLocaleString, toString, valueOf]
<a class="clsHide" href="#idLjsambrmbr"></a></p>
</section>
<section id="idLjsArray">
<h3 id="idLjsArrayH3">lagJs-a'Array-function
<a class="clsHide" href="#idLjsArrayH3"></a></h3>
<p id="idLjsArraydsn">description::
<br><code>Array</code> is a-built-in-function and is-considered <a class="clsPreview" href="#idLjsfCsr">the-constructor</a>, of all <a class="clsPreview" href="#idLjsa">arrays</a>.
<br>Then, <a class="clsPreview" href="#idLjsArrayp">Array.prototype</a> is the-parent-generic-object of all arrays.
<a class="clsHide" href="#idLjsArraydsn"></a></p>
<p id="idLjsArraynam">name::
<br>* Mcs.lagJs'Array-constructor,
<br>* Mcs.lagJs-a'Array-function,
<br>* Mcs.lagJs-f.Array,
<a class="clsHide" href="#idLjsArraynam"></a></p>
<p id="idLjsArraygnc">generic-chain::
<br>* <a class="clsPreview" href="#idLjsFunctionp">Function.prototype</a> (<code>Array.__proto__ === Function.prototype //true</code>),
<br>* <a class="clsPreview" href="#idLjsmgo">Object.prototype</a> (<code>Array.__proto__.__proto__ === Object.prototype //true</code>),
<a class="clsHide" href="#idLjsArraynam"></a></p>
</section>
<section id="idLjsArrayp">
<h3 id="idLjsArraypH3">lagJs-a'Array.prototype
<a class="clsHide" href="#idLjsArraypH3"></a></h3>
<p id="idLjsArraypdsn">description::
<br><code>Array.prototype</code>[1] is <a class="clsPreview" href="#idLjsognc">the-generic-object</a>, of all <a class="clsPreview" href="#idLjsa">arrays</a>.
<br>In other words, its[1] members are-inherited by all arrays.
<p id="idLjsArraypnam">name::
<br>* Mcs.Array.prototype.Javascript,
<br>* Mcs.lagJs'Array.prototype-object,
<br>* Mcs.lagJs-a'Array.prototype-object,
<br>* Mcs.lagJs-o.Array.prototype,
<a class="clsHide" href="#idLjsArraypnam"></a></p>
<p id="idLjsArraypgnc">generic-chain::
<br>* <a class="clsPreview" href="#idLjsmgo">Object.prototype</a> (<code>Array.prototype.__proto__ === Object.prototype //true</code>),
<a class="clsHide" href="#idLjsArraypnam"></a></p>
<section id="idLjsArraypmbr">
<h4 id="idLjsArraypmbrH4">lagJs'Array.prototype'member
<a class="clsHide" href="#idLjsArraypmbrH4"></a></h4>
<p id="idLjsArraypmbrspc"><a class="clsPreview" href="#idLjsombr">member</a>::
<br><a class="clsPreview" href="#idLjsalg">Code</a>
<br>(ljn.622):
<br><code>> Object.getOwnPropertyNames(Array.prototype).sort()
<br>[ 'concat', 'constructor', 'copyWithin', 'entries', 'every', 'fill', 'filter', 'find', 'findIndex', 'forEach', 'includes', 'indexOf', 'join', 'keys', 'lastIndexOf', 'length', 'map', 'pop', 'push', 'reduce', 'reduceRight', 'reverse', 'shift', 'slice', 'some', 'sort', 'splice', 'toLocaleString', 'toString', 'unshift' ]</code>
<br>(Chrome.50):
<br><code>> Object.getOwnPropertyNames(Array.prototype).sort()
<br>["concat", "constructor", "copyWithin", "entries", "every", "fill", "filter", "find", "findIndex", "forEach", "includes", "indexOf", "join", "keys", "lastIndexOf", "length", "map", "pop", "push", "reduce", "reduceRight", "reverse", "shift", "slice", "some", "sort", "splice", "toLocaleString", "toString", "unshift"]</code>
<br>(Firefox.45):
<br><code>> Object.getOwnPropertyNames(Array.prototype).sort()
<br>["concat", "constructor", "copyWithin", "entries", "every", "fill", "filter", "find", "findIndex", "forEach", "includes", "indexOf", "join", "keys", "lastIndexOf", "length", "map", "pop", "push", "reduce", "reduceRight", "reverse", "shift", "slice", "some", "sort", "splice", "toLocaleString", "toSource", "toString", "unshift"]</code>
<br>(Edge.20):
<br><code>> Object.getOwnPropertyNames(Array.prototype).sort()
<br>["concat", "constructor", "copyWithin", "entries", "every", "fill", "filter", "find", "findIndex", "forEach", "indexOf", "join", "keys", "lastIndexOf", "length", "map", "pop", "push", "reduce", "reduceRight", "reverse", "shift", "slice", "some", "sort", "splice", "toLocaleString", "toString", "unshift", "values"]</code>
<br>(Safari.5-1-7):
<br><code>> Object.getOwnPropertyNames(Array.prototype).sort()
<br>["concat", "constructor", "every", "filter", "forEach", "indexOf", "join", "lastIndexOf", "length", "map", "pop", "push", "reduce", "reduceRight", "reverse", "shift", "slice", "some", "sort", "splice", "toLocaleString", "toString", "unshift"]</code>
<a class="clsHide" href="#idLjsArraypmbrspc"></a></p>
</section>
<section id="idLjsArraypconcat">
<h4 id="idLjsArraypconcatH4">lagJs'Array.prototype.concat-function
<a class="clsHide" href="#idLjsArraypconcatH4"></a></h4>
<p id="idLjsArraypconcatdsn">description::
<br><span class="clsQuote">The concat() method is used to merge two or more arrays. This method does not change the existing arrays, but instead returns a new array.
<br><code>var arr1 = ["a", "b", "c"];
<br>var arr2 = ["d", "e", "f"];
<br>var arr3 = arr1.concat(arr2);
<br>// results in a new array [ "a", "b", "c", "d", "e", "f" ]</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat</a>]
<a class="clsHide" href="#idLjsArraypconcatdsn"></a></p>
<p id="idLjsArraypconcatnam">name::
<br>* Mcs.Array.prototype.concat-function,
<br>* Mcs.lagJs-a'concat-function,
<br>* Mcs.lagJs'concat-array-function,
<br>* Mcs.concat--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypconcatnam"></a></p>
</section>
<section id="idLjsArraypcopyWithin">
<h4 id="idLjsArraypcopyWithinH4">lagJs'Array.prototype.copyWithin-function
<a class="clsHide" href="#idLjsArraypcopyWithinH4"></a></h4>
<p id="idLjsArraypcopyWithindsn">description::
<br><span class="clsQuote">The copyWithin() method shallow copies part of an array to another location in the same array and returns it, without modifying its size.
<br><code>["alpha", "bravo", "charlie", "delta"].copyWithin(2, 0);
<br>// results in ["alpha", "bravo", "alpha", "bravo"]</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin</a>]
<br>===
<br><code>["alpha", "bravo", "charlie", "delta"].copyWithin(1);
<br>// results in ["alpha", "alpha", "bravo", "charlie"]</code>
<a class="clsHide" href="#idLjsArraypcopyWithindsn"></a></p>
<p id="idLjsArraypcopyWithinnam">name::
<br>* Mcs.Array.prototype.copyWithin-function,
<br>* Mcs.lagJs-a'copyWithin-function,
<br>* Mcs.lagJs'copyWithin-array-function,
<br>* Mcs.copyWithin--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypcopyWithin"></a></p>
</section>
<section id="idLjsArraypentries">
<h4 id="idLjsArraypentriesH4">lagJs'Array.prototype.entries-function
<a class="clsHide" href="#idLjsArraypentriesH4"></a></h4>
<p id="idLjsArraypentriesdsn">description::
<br><span class="clsQuote">The entries() method returns a new Array Iterator object that contains the key/value pairs for each index in the array.
<br><code>var a = ['a', 'b', 'c'];
<br>var iterator = a.entries();
<br>console.log(iterator.next().value); // [0, 'a']
<br>console.log(iterator.next().value); // [1, 'b']
<br>console.log(iterator.next().value); // [2, 'c']</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/entries">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/entries</a>]
<a class="clsHide" href="#idLjsArraypentriesdsn"></a></p>
<p id="idLjsArraypentriesnam">name::
<br>* Mcs.Array.prototype.entries-function,
<br>* Mcs.lagJs-a'entries-function,
<br>* Mcs.lagJs'entries-array-function,
<br>* Mcs.entries--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypentriesnam"></a></p>
</section>
<section id="idLjsArraypevery">
<h4 id="idLjsArraypeveryH4">lagJs'Array.prototype.every-function
<a class="clsHide" href="#idLjsArraypeveryH4"></a></h4>
<p id="idLjsArraypeverydsn">description::
<br><span class="clsQuote">The every() method tests whether all elements in the array pass the test implemented by the provided function.
<br><code>function isBigEnough(element, index, array) {
<br>&nbsp; return element >= 10;
<br>}
<br>[12, 5, 8, 130, 44].every(isBigEnough); // false
<br>[12, 54, 18, 130, 44].every(isBigEnough); // true</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every</a>]
<a class="clsHide" href="#idLjsArraypeverydsn"></a></p>
<p id="idLjsArraypeverynam">name::
<br>* Mcs.Array.prototype.every-function,
<br>* Mcs.lagJs-a'every-function,
<br>* Mcs.lagJs'every-array-function,
<br>* Mcs.every--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypeverynam"></a></p>
</section>
<section id="idLjsArraypfill">
<h4 id="idLjsArraypfillH4">lagJs'Array.prototype.fill-function
<a class="clsHide" href="#idLjsArraypfillH4"></a></h4>
<p id="idLjsArraypfilldsn">description::
<br><span class="clsQuote">The fill() method fills all the elements of an array from a start index to an end index with a static value.
<br><code>var numbers = [1, 2, 3]
<br>numbers.fill(1);
<br>// results in [1, 1, 1]</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill</a>]
<a class="clsHide" href="#idLjsArraypfilldsn"></a></p>
<p id="idLjsArraypfillnam">name::
<br>* Mcs.Array.prototype.fill-function,
<br>* Mcs.lagJs-a'fill-function,
<br>* Mcs.lagJs'fill-array-function,
<br>* Mcs.fill--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypfillnam"></a></p>
</section>
<section id="idLjsArraypfilter">
<h4 id="idLjsArraypfilterH4">lagJs'Array.prototype.filter-function
<a class="clsHide" href="#idLjsArraypfilterH4"></a></h4>
<p id="idLjsArraypfilterdsn">description::
<br><span class="clsQuote">The filter() method creates a new array with all elements that pass the test implemented by the provided function.</span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter</a>]
<br>===
<br><code>> ['a', false, 'b', undefined, 'c', null, NaN, 3].filter(Number)
<br>&lt; [3]</code>
<br>===
<br><code>> Object.getOwnPropertyNames(Math).sort().filter(function(sM){return sM.match(/^[s-z]/)})
<br>&lt; [ 'sign', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc' ]</code>
<a class="clsHide" href="#idLjsArraypfilterdsn"></a></p>
<p id="idLjsArraypfilternam">name::
<br>* Mcs.Array.prototype.filter-function,
<br>* Mcs.lagJs-a'filter-function,
<br>* Mcs.lagJs'filter-array-function,
<br>* Mcs.filter--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypfilternam"></a></p>
</section>
<section id="idLjsArraypfind">
<h4 id="idLjsArraypfindH4">lagJs'Array.prototype.find-function
<a class="clsHide" href="#idLjsArraypfindH4"></a></h4>
<p id="idLjsArraypfinddsn">description::
<br><span class="clsQuote">The find() method returns a value of the first element in the array that satisfies the provided testing function. Otherwise undefined is returned.
<br><code>function isBigEnough(element) {
<br>&nbsp; return element >= 15;
<br>}
<br>[12, 5, 8, 130, 44].find(isBigEnough); // 130</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find</a>]
<a class="clsHide" href="#idLjsArraypfinddsn"></a></p>
<p id="idLjsArraypfindnam">name::
<br>* Mcs.Array.prototype.find-function,
<br>* Mcs.lagJs-a'find-function,
<br>* Mcs.lagJs'find-array-function,
<br>* Mcs.find--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypfindnam"></a></p>
</section>
<section id="idLjsArraypfindIndex">
<h4 id="idLjsArraypfindIndexH4">lagJs'Array.prototype.findIndex-function
<a class="clsHide" href="#idLjsArraypfindIndexH4"></a></h4>
<p id="idLjsArraypfindIndexdsn">description::
<br><span class="clsQuote">The findIndex() method returns an index of the first element in the array that satisfies the provided testing function. Otherwise -1 is returned.
<br><code>function isBigEnough(element) {
<br>&nbsp; return element >= 15;
<br>}
<br>[12, 5, 8, 130, 44].findIndex(isBigEnough); // 3</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex</a>]
<a class="clsHide" href="#idLjsArraypfindIndexdsn"></a></p>
<p id="idLjsArraypfindIndexnam">name::
<br>* Mcs.Array.prototype.findIndex-function,
<br>* Mcs.lagJs-a'findIndex-function,
<br>* Mcs.lagJs'findIndex-array-function,
<br>* Mcs.findIndex--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypfindIndexnam"></a></p>
</section>
<section id="idLjsArraypforEach">
<h4 id="idLjsArraypforEachH4">lagJs'Array.prototype.forEach-function
<a class="clsHide" href="#idLjsArraypforEachH4"></a></h4>
<p id="idLjsArraypforEachdsn">description::
<br><span class="clsQuote">The forEach() method executes a provided function once for each array element.
<br><code>var a = ["a", "b", "c"];
<br>a.forEach(function(element) {
<br>&nbsp; console.log(element);
<br>});
<br>// a
<br>// b
<br>// c</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach</a>]
<br>===
<br><code>var a = ["a", "b", "c"];
<br>a.forEach(function(element, index, array) {
<br>&nbsp; console.log(element + index);
<br>&nbsp; //array is a
<br>});
<br>// a0
<br>// b1
<br>// c2</code>
<a class="clsHide" href="#idLjsArraypforEachdsn"></a></p>
<p id="idLjsArraypforEachnam">name::
<br>* Mcs.Array.prototype.forEach-function,
<br>* Mcs.forEach--Javascript-array-function,
<br>* Mcs.lagJs-a'forEach-function,
<br>* Mcs.lagJs'forEach-array-function,
<a class="clsHide" href="#idLjsArraypforEachnam"></a></p>
</section>
<section id="idLjsArraypincludes">
<h4 id="idLjsArraypincludesH4">lagJs'Array.prototype.includes-function
<a class="clsHide" href="#idLjsArraypincludesH4"></a></h4>
<p id="idLjsArraypincludesdsn">description::
<br><span class="clsQuote">The includes() method determines whether an array includes a certain element, returning true or false as appropriate.
<br><code>var a = [1, 2, 3];
<br>a.includes(2); // true
<br>a.includes(4); // false</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes</a>]
<a class="clsHide" href="#idLjsArraypincludesdsn"></a></p>
<p id="idLjsArraypincludesnam">name::
<br>* Mcs.Array.prototype.includes-function,
<br>* Mcs.lagJs-a'includes-function,
<br>* Mcs.lagJs'includes-array-function,
<br>* Mcs.includes--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypincludesnam"></a></p>
</section>
<section id="idLjsArraypindexOf">
<h4 id="idLjsArraypindexOfH4">lagJs'Array.prototype.indexOf-function
<a class="clsHide" href="#idLjsArraypindexOfH4"></a></h4>
<p id="idLjsArraypindexOfdsn">description::
<br><span class="clsQuote">The indexOf() method returns the first index at which a given element can be found in the array, or -1 if it is not present.
<br><code>var a = [2, 9, 9];
<br>a.indexOf(2); // 0
<br>a.indexOf(7); // -1
<br>if (a.indexOf(7) === -1) {
<br>&nbsp; // element doesn't exist in array
<br>}</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf</a>]
<br>===
<br><code>> [1,2,3].indexOf(3)
<br>2
<br>> [1,2,3].indexOf(4)
<br>-1
<br>> [1,2,3].indexOf(0)
<br>-1</code>
<a class="clsHide" href="#idLjsArraypindexOfdsn"></a></p>
<p id="idLjsArraypindexOfnam">name::
<br>* Mcs.Array.prototype.indexOf-function,
<br>* Mcs.lagJs-a'indexOf-function,
<br>* Mcs.lagJs'indexOf-array-function,
<br>* Mcs.indexOf--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypindexOfnam"></a></p>
</section>
<section id="idLjsArraypjoin">
<h4 id="idLjsArraypjoinH4">lagJs'Array.prototype.join-function
<a class="clsHide" href="#idLjsArraypjoinH4"></a></h4>
<p id="idLjsArraypjoindsn">description::
<br><span class="clsQuote">The join() method joins all elements of an array into a string.
<br><code>var a = ['Wind', 'Rain', 'Fire'];
<br>a.join(); // 'Wind,Rain,Fire'
<br>a.join('-'); // 'Wind-Rain-Fire'</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join</a>]
<br>===
<br><code>> [1,2,3].join()
<br>"1,2,3"
<br>> [1,2,3].join(' ')
<br>"1 2 3"
<br>> [1,2,3].join(' and ')
<br>"1 and 2 and 3"</code>
<a class="clsHide" href="#idLjsArraypjoindsn"></a></p>
<p id="idLjsArraypjoinnam">name::
<br>* Mcs.Array.prototype.join-function,
<br>* Mcs.lagJs-a'join-function,
<br>* Mcs.lagJs'join-array-function,
<br>* Mcs.join--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypjoinnam"></a></p>
</section>
<section id="idLjsArraypkeys">
<h4 id="idLjsArraypkeysH4">lagJs'Array.prototype.keys-function
<a class="clsHide" href="#idLjsArraypkeysH4"></a></h4>
<p id="idLjsArraypkeysdsn">description::
<br><span class="clsQuote">The keys() method returns a new Array Iterator that contains the keys for each index in the array.
<br><code>var arr = ["a", "b", "c"];
<br>var iterator = arr.keys();
<br>console.log(iterator.next()); // { value: 0, done: false }
<br>console.log(iterator.next()); // { value: 1, done: false }
<br>console.log(iterator.next()); // { value: 2, done: false }
<br>console.log(iterator.next()); // { value: undefined, done: true }</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/keys">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/keys</a>]
<a class="clsHide" href="#idLjsArraypkeysdsn"></a></p>
<p id="idLjsArraypkeysnam">name::
<br>* Mcs.Array.prototype.keys-function,
<br>* Mcs.lagJs-a'keys-function,
<br>* Mcs.lagJs'keys-array-function,
<br>* Mcs.keys--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypkeysnam"></a></p>
</section>
<section id="idLjsArrayplastIndexOf">
<h4 id="idLjsArrayplastIndexOfH4">lagJs'Array.prototype.lastIndexOf-function
<a class="clsHide" href="#idLjsArrayplastIndexOfH4"></a></h4>
<p id="idLjsArrayplastIndexOfdsn">description::
<br><span class="clsQuote">The lastIndexOf() method returns the last index at which a given element can be found in the array, or -1 if it is not present. The array is searched backwards, starting at fromIndex.
<br><code>var numbers = [2, 5, 9, 2];
<br>numbers.lastIndexOf(2); // 3
<br>numbers.lastIndexOf(7); // -1</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf</a>]
<a class="clsHide" href="#idLjsArrayplastIndexOfdsn"></a></p>
<p id="idLjsArrayplastIndexOfnam">name::
<br>* Mcs.Array.prototype.lastIndexOf-function,
<br>* Mcs.lagJs-a'lastIndexOf-function,
<br>* Mcs.lagJs'lastIndexOf-array-function,
<br>* Mcs.lastIndexOf--Javascript-array-function,
<a class="clsHide" href="#idLjsArrayplastIndexOfnam"></a></p>
</section>
<section id="idLjsArrayplength">
<h4 id="idLjsArrayplengthH4">lagJs'Array.prototype.length-number
<a class="clsHide" href="#idLjsArrayplengthH4"></a></h4>
<p id="idLjsArrayplengthdsn">description::
<br><code>> ['a', 'b', 'c'].length
<br>3</code>
<br>===
<br><span class="clsQuote">The maximum length until "it gets sluggish" is totally dependent on your target machine and your actual code, so you'll need to test on that (those) platform(s) to see what is acceptable.
<br>However, the maximum length of an array according to the ECMA-262 5th Edition specification is bound by an unsigned 32-bit integer due to the ToUint32 abstract operation, so the longest possible array could have 232-1 = 4,294,967,295 = 4.29 billion elements.</span>
<br>[<a href="http://stackoverflow.com/a/6155063">http://stackoverflow.com/a/6155063</a>]
<a class="clsHide" href="#idLjsArrayplengthdsn"></a></p>
<p id="idLjsArrayplengthnam">name::
<br>* Mcs.Array.prototype.length-number,
<br>* Mcs.lagJs-a'length-number,
<br>* Mcs.lagJs'length-array-number-member,
<br>* Mcs.length--Javascript-array-number-member,
<a class="clsHide" href="#idLjsArrayplengthnam"></a></p>
</section>
<section id="idLjsArraypmap">
<h4 id="idLjsArraypmapH4">lagJs'Array.prototype.map-function
<a class="clsHide" href="#idLjsArraypmapH4"></a></h4>
<p id="idLjsArraypmapdsn">description::
<br><span class="clsQuote">The map() method creates a new array with the results of calling a provided function on every element in this array.
<br><code>var numbers = [1, 5, 10, 15];
<br>var roots = numbers.map(function(x){
<br>&nbsp; return x * 2;
<br>});
<br>// roots is now [2, 10, 20, 30]
<br>// numbers is still [1, 5, 10, 15]</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map</a>]
<a class="clsHide" href="#idLjsArraypmapdsn"></a></p>
<p id="idLjsArraypmapnam">name::
<br>* Mcs.Array.prototype.map-function,
<br>* Mcs.lagJs-a'map-function,
<br>* Mcs.lagJs'map-array-function,
<br>* Mcs.map--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypmapnam"></a></p>
</section>
<section id="idLjsArrayppop">
<h4 id="idLjsArrayppopH4">lagJs'Array.prototype.pop-function
<a class="clsHide" href="#idLjsArrayppopH4"></a></h4>
<p id="idLjsArrayppopdsn">description::
<br><span class="clsQuote">The pop() method removes the last element from an array and returns that element. This method changes the length of the array.
<br><code>var a = [1, 2, 3];
<br>a.pop();
<br>console.log(a); // [1, 2]</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop</a>]
<a class="clsHide" href="#idLjsArrayppopdsn"></a></p>
<p id="idLjsArrayppopnam">name::
<br>* Mcs.Array.prototype.pop-function,
<br>* Mcs.lagJs-a'pop-function,
<br>* Mcs.lagJs'pop-array-function,
<br>* Mcs.pop--Javascript-array-function,
<a class="clsHide" href="#idLjsArrayppopnam"></a></p>
</section>
<section id="idLjsArrayppush">
<h4 id="idLjsArrayppushH4">lagJs'Array.prototype.push-function
<a class="clsHide" href="#idLjsArrayppushH4"></a></h4>
<p id="idLjsArrayppushdsn">description::
<br><span class="clsQuote">The push() method adds one or more elements to the end of an array and returns the new length of the array.
<br><code>var numbers = [1, 2, 3];
<br>numbers.push(4);
<br>console.log(numbers); // [1, 2, 3, 4]
<br>numbers.push(5, 6, 7);
<br>console.log(numbers); // [1, 2, 3, 4, 5, 6, 7]</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push</a>]
<a class="clsHide" href="#idLjsArrayppushdsn"></a></p>
<p id="idLjsArrayppushnam">name::
<br>* Mcs.Array.prototype.push-function,
<br>* Mcs.lagJs-a'push-function,
<br>* Mcs.lagJs'push-array-function,
<br>* Mcs.push--Javascript-array-function,
<a class="clsHide" href="#idLjsArrayppushnam"></a></p>
</section>
<section id="idLjsArraypreduce">
<h4 id="idLjsArraypreduceH4">lagJs'Array.prototype.reduce-function
<a class="clsHide" href="#idLjsArraypreduceH4"></a></h4>
<p id="idLjsArraypreducedsn">description::
<br><span class="clsQuote">The reduce() method applies a function against an accumulator and each value of the array (from left-to-right) to reduce it to a single value.
<br>
<br><code>var sum = [0, 1, 2, 3].reduce(function(a, b) {
<br>&nbsp; return a + b;
<br>}, 0);
<br>// sum is 6
<br>
<br>var flattened = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) {
<br>&nbsp; return a.concat(b);
<br>}, []);
<br>// flattened is [0, 1, 2, 3, 4, 5]</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce</a>]
<a class="clsHide" href="#idLjsArraypreducedsn"></a></p>
<p id="idLjsArraypreducenam">name::
<br>* Mcs.Array.prototype.reduce-function,
<br>* Mcs.lagJs-a'reduce-function,
<br>* Mcs.lagJs'reduce-array-function,
<br>* Mcs.reduce--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypreducenam"></a></p>
</section>
<section id="idLjsArraypreduceRight">
<h4 id="idLjsArraypreduceRightH4">lagJs'Array.prototype.reduceRight-function
<a class="clsHide" href="#idLjsArraypreduceRightH4"></a></h4>
<p id="idLjsArraypreduceRightdsn">description::
<br><span class="clsQuote">The reduceRight() method applies a function against an accumulator and each value of the array (from right-to-left) has to reduce it to a single value.
<br><code>var flattened = [[0, 1], [2, 3], [4, 5]].reduceRight(function(a, b) {
return a.concat(b);
<br>}, []);
<br>// flattened is [4, 5, 2, 3, 0, 1]</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/ReduceRight">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/ReduceRight</a>]
<a class="clsHide" href="#idLjsArraypreduceRightdsn"></a></p>
<p id="idLjsArraypreduceRightnam">name::
<br>* Mcs.Array.prototype.reduceRight-function,
<br>* Mcs.lagJs-a'reduceRight-function,
<br>* Mcs.lagJs'reduceRight-array-function,
<br>* Mcs.reduceRight--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypreduceRightnam"></a></p>
</section>
<section id="idLjsArraypreverse">
<h4 id="idLjsArraypreverseH4">lagJs'Array.prototype.reverse-function
<a class="clsHide" href="#idLjsArraypreverseH4"></a></h4>
<p id="idLjsArraypreversedsn">description::
<br><span class="clsQuote">The reverse() method reverses an array in place. The first array element becomes the last, and the last array element becomes the first.
<br><code>var a = ['one', 'two', 'three'];
<br>a.reverse();
<br>console.log(a); // ['three', 'two', 'one']</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse</a>]
<a class="clsHide" href="#idLjsArraypreversedsn"></a></p>
<p id="idLjsArraypreversenam">name::
<br>* Mcs.Array.prototype.reverse-function,
<br>* Mcs.lagJs-a'reverse-function,
<br>* Mcs.lagJs'reverse-array-function,
<br>* Mcs.reverse--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypreversenam"></a></p>
</section>
<section id="idLjsArraypshift">
<h4 id="idLjsArraypshiftH4">lagJs'Array.prototype.shift-function
<a class="clsHide" href="#idLjsArraypshiftH4"></a></h4>
<p id="idLjsArraypshiftdsn">description::
<br><span class="clsQuote">The shift() method removes the first element from an array and returns that element. This method changes the length of the array.
<br><code>var a = [1, 2, 3];
<br>a.shift();
<br>console.log(a); // [2, 3]</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift</a>]
<a class="clsHide" href="#idLjsArraypshiftdsn"></a></p>
<p id="idLjsArraypshiftnam">name::
<br>* Mcs.Array.prototype.shift-function,
<br>* Mcs.lagJs-a'shift-function,
<br>* Mcs.lagJs'shift-array-function,
<br>* Mcs.shift--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypshiftnam"></a></p>
</section>
<section id="idLjsArraypslice">
<h4 id="idLjsArraypsliceH4">lagJs'Array.prototype.slice-function
<a class="clsHide" href="#idLjsArraypsliceH4"></a></h4>
<p id="idLjsArraypslicedsn">description::
<br><span class="clsQuote">The slice() method returns a shallow copy of a portion of an array into a new array object selected from begin to end (end not included). The original array will not be modified.
<br><code>var a = ["zero", "one", "two", "three"];
<br>var sliced = a.slice(1,3);
<br>console.log(a); // [ "zero", "one", "two", "three" ]
<br>console.log(sliced); // [ "one", "two" ]</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice</a>]
<br>===
<br><code>//create arrays from array-like
<br>> Array.prototype.slice.call({0:'a',1:'b',2:'c',length:3})
<br>["a", "b", "c"]
<br>> Array.prototype.slice.call({0:'a',1:'b',2:'c'})
<br>[]</code>
<a class="clsHide" href="#idLjsArraypslicedsn"></a></p>
<p id="idLjsArraypslicenam">name::
<br>* Mcs.Array.prototype.slice-function,
<br>* Mcs.lagJs-a'slice-function,
<br>* Mcs.lagJs'slice-array-function,
<br>* Mcs.slice--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypslicenam"></a></p>
</section>
<section id="idLjsArraypsome">
<h4 id="idLjsArraypsomeH4">lagJs'Array.prototype.some-function
<a class="clsHide" href="#idLjsArraypsomeH4"></a></h4>
<p id="idLjsArraypsomedsn">description::
<br><span class="clsQuote">The some() method tests whether some element in the array passes the test implemented by the provided function.
<br><code>function isBiggerThan10(element, index, array) {
<br>&nbsp; return element > 10;
<br>}
<br>[2, 5, 8, 1, 4].some(isBiggerThan10); // false
<br>[12, 5, 8, 1, 4].some(isBiggerThan10); // true</code></span>
<br>[<a href="https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/some">https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/some</a>]
<a class="clsHide" href="#idLjsArraypsomedsn"></a></p>
<p id="idLjsArraypsomenam">name::
<br>* Mcs.Array.prototype.some-function,
<br>* Mcs.lagJs-a'some-function,
<br>* Mcs.lagJs'some-array-function,
<br>* Mcs.some--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypsomenam"></a></p>
</section>
<section id="idLjsArraypsort">
<h4 id="idLjsArraypsortH4">lagJs'Array.prototype.sort-function
<a class="clsHide" href="#idLjsArraypsortH4"></a></h4>
<p id="idLjsArraypsortdsn">description::
<br><span class="clsQuote">The sort() method sorts the elements of an array in place and returns the array. The sort is not necessarily stable. The default sort order is according to string Unicode code points.
<br><code>var fruit = ['cherries', 'apples', 'bananas'];
<br>fruit.sort(); // ['apples', 'bananas', 'cherries']
<br>var scores = [1, 10, 21, 2];
<br>scores.sort(); // [1, 10, 2, 21]
<br>// Watch out that 10 comes before 2,
<br>// because '10' comes before '2' in Unicode code point order.
<br>var things = ['word', 'Word', '1 Word', '2 Words'];
<br>things.sort(); // ['1 Word', '2 Words', 'Word', 'word']
<br>// In Unicode, numbers come before upper case letters,
<br>// which come before lower case letters.</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort</a>]
<a class="clsHide" href="#idLjsArraypsortdsn"></a></p>
<p id="idLjsArraypsortnam">name::
<br>* Mcs.Array.prototype.sort-function,
<br>* Mcs.lagJs-a'sort-function,
<br>* Mcs.lagJs'sort-array-function,
<br>* Mcs.sort--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypsortnam"></a></p>
</section>
<section id="idLjsArraypsplice">
<h4 id="idLjsArraypspliceH4">lagJs'Array.prototype.splice-function
<a class="clsHide" href="#idLjsArraypspliceH4"></a></h4>
<p id="idLjsArraypsplicedsn">description::
<br><span class="clsQuote">The splice() method changes the content of an array by removing existing elements and/or adding new elements.
<br><code>var myFish = ["angel", "clown", "mandarin", "surgeon"];
<br>myFish.splice(2, 0, "drum");
<br>// myFish is ["angel", "clown", "drum", "mandarin", "surgeon"]</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice</a>]
<a class="clsHide" href="#idLjsArraypsplicedsn"></a></p>
<p id="idLjsArraypsplicenam">name::
<br>* Mcs.Array.prototype.splice-function,
<br>* Mcs.lagJs-a'splice-function,
<br>* Mcs.lagJs'splice-array-function,
<br>* Mcs.splice--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypsplicenam"></a></p>
</section>
<section id="idLjsArrayptoLocaleString">
<h4 id="idLjsArrayptoLocaleStringH4">lagJs'Array.prototype.toLocaleString-function
<a class="clsHide" href="#idLjsArrayptoLocaleStringH4"></a></h4>
<p id="idLjsArrayptoLocaleStringdsn">description::
<br><span class="clsQuote">The toLocaleString() method returns a string representing the elements of the array. The elements are converted to Strings using their toLocaleString methods and these Strings are separated by a locale-specific String (such as a comma “,”).
<br><code>var number = 1337;
<br>var date = new Date();
<br>var myArr = [number, date, 'foo'];
<br>var str = myArr.toLocaleString();
<br>console.log(str);
<br>// logs '1337,6.12.2013 19:37:35,foo'
<br>// if run in a German (de-DE) locale with timezone Europe/Berlin</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toLocaleString">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toLocaleString</a>]
<a class="clsHide" href="#idLjsArrayptoLocaleStringdsn"></a></p>
<p id="idLjsArrayptoLocaleStringnam">name::
<br>* Mcs.Array.prototype.toLocaleString-function,
<br>* Mcs.lagJs-a'toLocaleString-function,
<br>* Mcs.lagJs'toLocaleString-array-function,
<a class="clsHide" href="#idLjsArrayptoLocaleStringnam"></a></p>
</section>
<section id="idLjsArrayptoString">
<h4 id="idLjsArrayptoStringH4">lagJs'Array.prototype.toString-function
<a class="clsHide" href="#idLjsArrayptoStringH4"></a></h4>
<p id="idLjsArrayptoStringdsn">description::
<br><span class="clsQuote">The toString() method returns a string representing the specified array and its elements.
<br><code>var months = ["Jan", "Feb", "Mar", "Apr"];
<br>months.toString(); // "Jan,Feb,Mar,Apr"</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toString">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toString</a>]
<a class="clsHide" href="#idLjsArrayptoStringdsn"></a></p>
<p id="idLjsArrayptoStringnam">name::
<br>* Mcs.Array.prototype.toString-function,
<br>* Mcs.lagJs-a'toString-function,
<br>* Mcs.lagJs'toString-array-function,
<a class="clsHide" href="#idLjsArrayptoStringnam"></a></p>
</section>
<section id="idLjsArraypunshift">
<h4 id="idLjsArraypunshiftH4">lagJs'Array.prototype.unshift-function
<a class="clsHide" href="#idLjsArraypunshiftH4"></a></h4>
<p id="idLjsArraypunshiftdsn">description::
<br><span class="clsQuote">The unshift() method adds one or more elements to the beginning of an array and returns the new length of the array.
<br><code>var a = [1, 2, 3];
<br>a.unshift(4, 5);
<br>console.log(a); // [4, 5, 1, 2, 3]</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift</a>]
<a class="clsHide" href="#idLjsArraypunshiftdsn"></a></p>
<p id="idLjsArraypunshiftnam">name::
<br>* Mcs.Array.prototype.unshift-function,
<br>* Mcs.lagJs-a'unshift-function,
<br>* Mcs.lagJs'unshift-array-function,
<br>* Mcs.unshift--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypunshiftnam"></a></p>
</section>
<section id="idLjsArraypvalues">
<h4 id="idLjsArraypvaluesH4">lagJs'Array.prototype.values-function
<a class="clsHide" href="#idLjsArraypvaluesH4"></a></h4>
<p id="idLjsArraypvaluesdsn">description::
<br><span class="clsQuote">The values() method returns a new Array Iterator object that contains the values for each index in the array.
<br><code>var a = ['w', 'y', 'k', 'o', 'p'];
<br>var iterator = a.values();
<br>console.log(iterator.next().value); // w
<br>console.log(iterator.next().value); // y
<br>console.log(iterator.next().value); // k
<br>console.log(iterator.next().value); // o
<br>console.log(iterator.next().value); // p</code></span>
<br>[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/values">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/values</a>]
<a class="clsHide" href="#idLjsArraypvaluesdsn"></a></p>
<p id="idLjsArraypvaluesnam">name::
<br>* Mcs.Array.prototype.values-function,
<br>* Mcs.lagJs-a'values-function,
<br>* Mcs.lagJs'values-array-function,
<br>* Mcs.values--Javascript-array-function,
<a class="clsHide" href="#idLjsArraypvaluesnam"></a></p>
</section>
</section>
</section>
<section id="idLjsb">
<h2 id="idLjsbH2">Sunt.boolean (lagJs-b)
<a class="clsHide" href="#idLjsbH2"></a></h2>
<p id="idLjsbdsn">description::
<br>Boolean is any of the two <a class="clsPreview" href="#idLjssut">semantic-units</a>: false, true.
<a class="clsHide" href="#idLjsbdsn"></a></p>
<p id="idLjsbnam">name::
<br>* Mcs.boolean--semantic-unit--of-Javascript!⇒lagJs-b,
<br>* Mcs.lagJs'boolean--semantic-unit!⇒lagJs-b,
<br>* Mcs.lagJs-b, {2019-03-15},
<br>* Mcs.lagJs-b(Javascript-boolean)!⇒lagJs-b,
<br>* Mcs.lagJs'boolean!⇒lagJs-b,
<br>* Mcs.lagJs-Sunt.boolean!⇒lagJs-b,
<a class="clsHide" href="#idLjsbnam"></a></p>
<p id="idLjsbgnc">generic-chain::
<br>* Boolean.prototype, (<code>true.__proto__ === Boolean.prototype //true</code>)
<br>* <a class="clsPreview" href="#idLjsmgo">Object.prototype</a>, (<code>true.__proto__.__proto__ === Object.prototype //true</code>)
<a class="clsHide" href="#idLjsbgnc"></a></p>
<p id="idLjsbSpc">specific::
<br>* <code>false</code>,
<br>* <code>true</code>,
<a class="clsHide" href="#idLjsbSpc"></a></p>
<section id="idLjsBooleanp">
<h3 id="idLjsBooleanpH3">lagJs'Boolean.prototype
<a class="clsHide" href="#idLjsBooleanpH3"></a></h3>
<p id="idLjsBooleanpdsn">description::
<br><code>Boolean.prototype</code> is <a class="clsPreview" href="#idLjsognc">the-generic-object</a>, of <a class="clsPreview" href="#idLjsb">booleans</a>.
<br>In other words, its members are-inherited by booleans.
<p id="idLjsBooleanpnam">name::
<br>* Mcs.lagJs-o.Boolean.prototype,
<br>* Mcs.lagJs'Boolean.prototype-object,
<a class="clsHide" href="#idLjsBooleanpnam"></a></p>
<p id="idLjsBooleanpgnc">generic-chain::
<br>* <a class="clsPreview" href="#idLjsmgo">Object.prototype</a> (<code>Boolean.prototype.__proto__ === Object.prototype //true</code>),
<a class="clsHide" href="#idLjsBooleanpnam"></a></p>
<p id="idLjsBooleanpmbr"><a class="clsPreview" href="#idLjsombr">member</a>::
<br>(ljn.630):
<br><code>> Object.getOwnPropertyNames(Boolean.prototype).sort()
<br>[ 'constructor', 'toString', 'valueOf' ]</code>
<br>(Chrome.50):
<br><code>> Object.getOwnPropertyNames(Boolean.prototype).sort()
<br>["constructor", "toString", "valueOf"]</code>
<br>(Firefox.46):
<br><code>> Object.getOwnPropertyNames(Boolean.prototype).sort()
<br>["constructor", "toSource", "toString", "valueOf"]</code>
<br>(Edge.20):
<br><code>> Object.getOwnPropertyNames(Boolean.prototype).sort()
<br>["constructor", "toString", "valueOf"]</code>
<br>(Safari.5-1-7):
<br><code>> Object.getOwnPropertyNames(Boolean.prototype).sort()
<br>["constructor", "toString", "valueOf"]</code>
<a class="clsHide" href="#idLjsBooleanpmbr"></a></p>
</section>
</section>
<section id="idLjsf">
<h2 id="idLjsfH2">Sunt.function (lagJs-f)
<a class="clsHide" href="#idLjsfH2"></a></h2>
<p id="idLjsfdsn">description::
<br>· function is <a class="clsPreview" href="#idLjssut">the-semantic-unit</a> that PROCESSES information.
<br>· optionally has input and output.
<br>· <a href="https://poet.codes/e/9YgdQVVD7Ip/frame/900px/515px">a-visualization</a> of its attributes.
<a class="clsHide" href="#idLjsfdsn"></a></p>
<p id="idLjsfnam">name::
<br>* Mcs.lagJs'f!⇒lagJs-f,
<br>* Mcs.lagJs'function!⇒lagJs-f,
<br>* Mcs.lagJs'function--semantic-unit!⇒lagJs-f,
<br>* Mcs.lagJs-f, {2019-03-15},
<br>* Mcs.lagJs-Sunt.function!⇒lagJs-f,
<br>* Mcs.lagJs-f(Javascript-function)!⇒lagJs-f,
<br>* Mcs.function--semantic-unit--of-Javascript!⇒lagJs-f,
<a class="clsHide" href="#idLjsfnam"></a></p>
<p id="idLjsfwhl">whole-chain::
<br>* <a class="clsPreview" href="#idLjssut">the-semantic-unit</a> in which defined,
<br>...
<br>* <a class="clsPreview" href="#idLjsmwo">most-whole-object</a>,
<a class="clsHide" href="#idLjsfwhl"></a></p>
<p id="idLjsfgnc">generic-chain::
<br>* <a class="clsPreview" href="#idLjsFunctionp">Function.prototype</a>, (<code>var f = function(){}; f.__proto__ === Function.prototype //true</code>)
<br>* <a class="clsPreview" href="#idLjsmgo">Object.prototype</a>, (<code>f.__proto__.__proto__ === Object.prototype //true</code>)
<a class="clsHide" href="#idLjsfgnc"></a></p>
<section id="idLjsfdfn">
<h3 id="idLjsfdfnH3">lagJs-f'Creation
<a class="clsHide" href="#idLjsfdfnH3"></a></h3>
<p id="idLjsfdfndsn">description::
<br>With a-compound-sentence, we define|create a-function.
<br>We define its input, output and what info-processing will-do.
<br><a class="clsPreview" href="#idLjsalg">Code</a>:
<br><code>function fName() { // inside parentheses we write the input <a class="clsPreview" href="#idLjssutname">identifiers</a>
<br> &nbsp;//what to do
<br> &nbsp;//last, what to return
<br>}</code>
<br>or
<br><code>var fName = function() {
<br> &nbsp;//what to do
<br> &nbsp;//last, what to return
<br>}</code>
<br>In the second case, we define one <a class="clsPreview" href="#idLjssutRfrd">name-value-pair</a> with <a class="clsPreview" href="#idLjssutname">name</a> <code>fName</code> and <a class="clsPreview" href="#idLjssutRfrdval">value</a> an anonymous function.
<a class="clsHide" href="#idLjsfdfndsn"></a></p>
<p id="idLjsfdfnnam">name::
<br>* Mcs.lagJs-f'creation,
<br>* Mcs.lagJs-f'definition,
<a class="clsHide" href="#idLjsfdfnnam"></a></p>
</section>
<section id="idLjsfcll">
<h3 id="idLjsfcllH3">lagJs-f'Call
<a class="clsHide" href="#idLjsfcllH3"></a></h3>
<p id="idLjsfclldsn">description::
<br>Function-call is the-process of setting a-function to work.
<br>We define a-function once, we call it as many times as we wish.
<br>We use the next <a class="clsPreview" href="#idLjsfrs">phrase</a>, to call a-function.
<br><a class="clsPreview" href="#idLjsalg">Code</a>:
<br><code>fName()</code>
<br>Inside the-parentheses we put <a class="clsPreview" href="#idLjssutRfrdval">the-values</a> of <a class="clsPreview" href="#idLjssutname">the-identifiers</a> used in <a class="clsPreview" href="#idLjsfdfn">the-definition</a>.
<a class="clsHide" href="#idLjsfclldsn"></a></p>
<p id="idLjsfcllnam">name::
<br>* Mcs.lagJs-f'call,
<br>* Mcs.lagJs-f'execution,
<br>* Mcs.lagJs-f'invocation,
<a class="clsHide" href="#idLjsfcllnam"></a></p>
</section>
<section id="idLjsfinp">
<h3 id="idLjsfinpH3">lagJs-f'Input
<a class="clsHide" href="#idLjsfinpH3"></a></h3>
<p id="idLjsfinpdsn">description::
<br>Function's-input is optional information (<a class="clsPreview" href="#idLjssut">semantic-units</a>) we give to a-function to do its work.
<p id="idLjsfinpnam">name::
<br>* Mcs.lagJs-f'input,
<a class="clsHide" href="#idLjsfinpnam"></a></p>
<p id="idLjsfinppmr">Function's-parameter:
<br>In <a class="clsPreview" href="#idLjsfdfn">a-function's-definition</a>, as input information we do-not-give <a class="clsPreview" href="#idLjssutRfrdval">values</a>, we give <a class="clsPreview" href="#idLjssutname">identifiers</a> of <a class="clsPreview" href="#idLjssutRfrd">name-value-pairs</a>.
<br>These input identifiers are-called PARAMETERS.
<br>I use the-notation: <code>xNameIn</code> where 'x' denotes what <a class="clsPreview" href="#idLjssut">semantic-unit</a> is.
<a class="clsHide" href="#idLjsfinppmr"></a></p>
<p id="idLjsfinpagt">Function's-argument:
<br>When we <a class="clsPreview" href="#idLjsfcll">call</a> a-function, as input information we give <a class="clsPreview" href="#idLjssutRfrdval">values</a>, not <a class="clsPreview" href="#idLjssutname">identifiers</a>.
<br>These input values are-called ARGUMENTS.
<a class="clsHide" href="#idLjsfinpagt"></a></p>
</section>
<section id="idLjsfotp">
<h3 id="idLjsfotpH3">lagJs-f'Output
<a class="clsHide" href="#idLjsfotpH3"></a></h3>
<p id="idLjsfotpdsn">description::
<br>Function's-output is optional information (<a class="clsPreview" href="#idLjssut">semantic-unit</a>) we could-RECEIVE from <a class="clsPreview" href="#idLjsf">a-function</a>.
<br>If a-function has no output, then the-output is-considered <a class="clsPreview" href="#idLjsu">the-undefined-semantic-unit</a>.
<p id="idLjsfotpnam">name::
<br>* Mcs.lagJs-f'output,
<a class="clsHide" href="#idLjsfotpnam"></a></p>
<p id="idLjsfotprtn">return-sentence:
<br>The last sentence in the-definition-of-a-function is the-return-sentence, the-sentence that denotes what the-function will return.
<br><a class="clsPreview" href="#idLjsalg">Code</a>: <code>return o;</code>
<br>
<br>name::
<br>* Mcs.lagJs'return-sentence,
<br>* Mcs.lagJs'return-statement,
<br>* Mcs.lagJs-sentence.return,
<a class="clsHide" href="#idLjsfotprtn"></a></p>
</section>
<section id="idLjsfname">
<h3 id="idLjsfnameH3">lagJs-f'name
<a class="clsHide" href="#idLjsfnameH3"></a></h3>
<p id="idLjsfnamedsn">description::
<br>The-name of a-function it's a little tricky business.
<br>In this definition: <code>function f(){}</code>, the-name is 'f': <code>f.name //"f"</code>
<br>In this definition: <code>var f = function(){}</code>, there is no name: <code>f.name //""</code>
<br>In this definition: <code>var f1 = function f2(){}</code>, the-name is 'f2': <code>f1.name //"f2"; f2.name //error</code>
<br>In all other <a class="clsPreview" href="#idLjssutRfrd">name-value-pairs</a> we consider <a class="clsPreview" href="#idLjssutname">the-identifier</a> as 'name'.
<br>So when we need to create recursive-functions (= functions which <a class="clsPreview" href="#idLjsfcll">call</a> themselves), we use the first definition where the-name and the-reference to the-function are the-same.
<a class="clsHide" href="#idLjsfnamedsn"></a></p>
<p id="idLjsfnamenam">name::
<br>* Mcs.lagJs-f'name,
<a class="clsHide" href="#idLjsfnamenam"></a></p>
</section>
<section id="idLjsfscp">
<h3 id="idLjsfscpH3">lagJs-f'Scope (<a class="clsPreview" href="#idLjselnConOsp">link</a>)
<a class="clsHide" href="#idLjsfscpH3"></a></h3>
<p id="idLjsfscpnam">name::
<br>* Mcs.lagJs-f'Scope,
<a class="clsHide" href="#idLjsfscpnam"></a></p>
</section>
<section id="idLjsafiao">
<h3 id="idLjsafiaoH3">lagJs-f'A-function-is-an-object
<a class="clsHide" href="#idLjsafiaoH3"></a></h3>
<p id="idLjsafiaodsn">description::
<br>This natural-language sentence is ambiguous.
<br>First of all, the-verb 'is' has many meanings, eg 'has', 'is-specific-of', 'is-part-of' etc.
<br>In Javascript means that a-function is specific of the-object <code><a class="clsPreview" href="#idLjsmgo">Object.prototype</a></code>, then and a-function is an-object.
<br>Thus, a-function can-have members, like an-object.
<br>A-function has the-members of its generics-chain.
<br>BUT a-function has and other characteristics that an-object can-not have.
<br>We <a class="clsPreview" href="#idLjsfcll">can-call</a> <a class="clsPreview" href="#idLjsf">a-function</a>, but not <a class="clsPreview" href="#idLjso">an-object</a>.
<br>Then, the correct sentence is: <span class="clsColorRed">A-function is a specific of Object.prototype</span>.
<a class="clsHide" href="#idLjsafiaodsn"></a></p>
</section>
<section id="idLjsFunctionp">
<h3 id="idLjsFunctionpH3">lagJs-f'Function.prototype
<a class="clsHide" href="#idLjsFunctionpH3"></a></h3>
<p id="idLjsFunctionpdsn">description::
<br><code>Function.prototype</code>[1] is <a class="clsPreview" href="#idLjsognc">the-generic-object</a>, of all <a class="clsPreview" href="#idLjsf">functions</a>.
<br>In other words, its[1] members are-inherited by all functions.
<br>Usually, <code>Constructor.prototype</code> is an-object.
<br>But <code>Function.prototype</code> is <a class="clsPreview" href="#idLjsf">a-function</a>: <code>typeof Function.prototype //"function"</code>
<a class="clsHide" href="#idLjsFunctionpdsn"></a></p>
<p id="idLjsFunctionpnam">name::
<br>* Mcs.lagJs-f.Function.prototype,
<br>* Mcs.lagJs'Function.prototype-function,
<a class="clsHide" href="#idLjsFunctionpnam"></a></p>
<p id="idLjsFunctionpwhl">whole-chain::
<br>* <a class="clsPreview" href="#idLjsFunction">Function</a>,
<br>* <a class="clsPreview" href="#idLjsmwo">most-whole-object</a>,
<a class="clsHide" href="#idLjsFunctionpwhl"></a></p>
<p id="idLjsFunctionpgnc">generic-chain::
<br>* <a class="clsPreview" href="#idLjsmgo">Object.prototype</a> (<code>Function.prototype.__proto__ === Object.prototype //true</code>),
<a class="clsHide" href="#idLjsFunctionpnam"></a></p>
<p id="idLjsFunctionpmbr"><a class="clsPreview" href="#idLjsombr">member</a>::
<br><a class="clsPreview" href="#idLjsalg">Code</a> (Chrome.50):
<br><code>> Object.getOwnPropertyNames(Function.prototype).sort()
<br>["apply", "arguments", "bind", "call", "caller", "constructor", "length", "name", "toString"]</code>
<br>(Firefox.46):
<br><code>> Object.getOwnPropertyNames(Function.prototype).sort()
<br>["apply", "arguments", "bind", "call", "caller", "constructor", "isGenerator", "length", "name", "toSource", "toString"]</code>
<br>(Edge.20):
<br><code>> Object.getOwnPropertyNames(Function.prototype).sort()
<br>["apply", "arguments", "bind", "call", "caller", "constructor", "length", "name", "toString"]</code>
<br>(Safari.5-1-7):
<br><code>> Object.getOwnPropertyNames(Function.prototype).sort()
<br>["apply", "bind", "call", "constructor", "length", "name", "toString"]</code>
<a class="clsHide" href="#idLjsFunctionpmbr"></a></p>
<p id="idLjsFunctionpSpc">specific::
<br>* <a class="clsPreview" href="#idLjsFunction">Function</a>,
<br>* <a class="clsPreview" href="#idLjsObject">Object</a>,
<br>* ..,
<br>* all builtin functions,
<br>* all custom-functions,
<a class="clsHide" href="#idLjsFunctionpSpc"></a></p>
</section>
<section id="idLjsFunction">
<h3 id="idLjsFunctionH3">lagJs-f'Function-function
<a class="clsHide" href="#idLjsFunctionH3"></a></h3>
<p id="idLjsFunctiondsn">description::
<br><code>Function</code> is <a class="clsPreview" href="#idLjsfCsr">the-constructor</a>, of all <a class="clsPreview" href="#idLjsf">functions</a>:
<br><code>> var f = function(){};
<br>undefined
<br>> f.constructor
<br>function Function() { [native code] }</code>
<a class="clsHide" href="#idLjsFunctiondsn"></a></p>
<p id="idLjsFunctionnam">name::
<br>* Mcs.lagJs'Function-constructor,
<br>* Mcs.lagJs'Function-function,
<a class="clsHide" href="#idLjsFunctionnam"></a></p>
<p id="idLjsFunctionwhl">whole-chain::
<br>* <a class="clsPreview" href="#idLjsmwo">most-whole-object</a>,
<a class="clsHide" href="#idLjsFunctionwhl"></a></p>
<p id="idLjsFunctiongnc">generic-chain::
<br>* <a class="clsPreview" href="#idLjsFunctionp">Function.prototype</a>, (<code>Function.__proto__ === Function.prototype //true</code>),
<br>It is important to mention here that <code>Function</code> CONTAINS its <a class="clsPreview" href="#idLjsognc">generic-object</a>, the-Function.prototype.
<br>* <a class="clsPreview" href="#idLjsObject">Object.prototype</a>, (<code>Function.__proto__.__proto__ === Object.prototype //true</code>)
<a class="clsHide" href="#idLjsFunctionnam"></a></p>
<p id="idLjsFunctionmbr"><a class="clsPreview" href="#idLjsombr">member</a>::
<br><a class="clsPreview" href="#idLjsalg">Code</a> (Chrome.50):
<br><code>> Object.getOwnPropertyNames(Function).sort()
<br>[]</code>
<br>(Firefox.46):
<br><code>> Object.getOwnPropertyNames(Function).sort()
<br>[]</code>
<br>(Edge.20):
<br><code>> Object.getOwnPropertyNames(Function).sort()
<br>[]</code>
<br>(Safari.5-1-7):
<br><code>> Object.getOwnPropertyNames(Function).sort()
<br>[]</code>
<a class="clsHide" href="#idLjsFunctionmbr"></a></p>
</section>
<section id="idLjsfSpc">
<h3 id="idLjsfSpcH3">lagJs-f.SPECIFIC
<a class="clsHide" href="#idLjsfSpcH3"></a></h3>
<p id="idLjsfSpcnam">name::
<br>* Mcs.lagJs-f.specific,
<a class="clsHide" href="#idLjsfSpcnam"></a></p>
<p id="idLjsfSpcP1">Specific.alphabetically::
<br>* <a class="clsPreview" href="#idLjsfCsr">constructor-function</a>,
<br>* custom-function,
<br>* customNo-function,
<br>* <a class="clsPreview" href="#idLjsfMtd">method-function</a>,
<br>* methodNo-function,
<br>* <a class="clsPreview" href="#idLjsfNmd">named-function</a>,
<br>* <a class="clsPreview" href="#idLjsfNmdNo">namedNo-function</a>,
<br>* <a class="clsPreview" href="#idLjsfOrn">object-returning-function</a>,
<br>* <a class="clsPreview" href="#idLjsfOpr">operator-function</a>,
<br>* <a class="clsPreview" href="#idLjsfSex">self-executing-function</a>,
<a class="clsHide" href="#idLjsfSpcP1"></a></p>
</section>
<section id="idLjsfArw">
<h3 id="idLjsfArwH3">lagJs-f.ARROW
<a class="clsHide" href="#idLjsfArwH3"></a></h3>
<p id="idLjsfArwdsn">description::
<br>· arrow-functions is an <a class="clsPreview" href="#idLjeEs6">ES6</a> feature.
<a class="clsHide" href="#idLjsfArwdsn"></a></p>
<p id="idLjsfArwexpl">example::
<br><code>var fAdd = (nAIn, nBIn) => nAIn + nBIn;
<br>//or
<br>var fAdd = (nAIn, nBIn) => {
<br> &nbsp;return nAIn + nBIn;
<br>}
<br>//regular function
<br>function fAdd(nAIn, nBIn) {
<br> &nbsp;return nAIn + nBIn;
<br>}</code>
<a class="clsHide" href="#idLjsfArwexpl"></a></p>
<p id="idLjsfArwnam">name::
<br>* Mcs.arrow-function.Javascript,
<br>* Mcs.fat-arrow-function.Javascript,
<br>* Mcs.lagJs-f.arrow,
<a class="clsHide" href="#idLjsfArwnam"></a></p>
<p id="idLjsfArwwpa">addressWpg::
<br>* {2018-06-05} Cynthia-Lee, When (and why) you should use ES6 arrow functions — and when you shouldn’t, <a href="https://medium.freecodecamp.org/when-and-why-you-should-use-es6-arrow-functions-and-when-you-shouldnt-3d851d7f0b26">https://medium.freecodecamp.org/</a>,
<a class="clsHide" href="#idLjsfArwwpa"></a></p>
</section>
<section id="idLjsfAsnc">
<h3 id="idLjsfAsncH3">lagJs-f.ASYNC
<a class="clsHide" href="#idLjsfAsncH3"></a></h3>
<p id="idLjsfAsncdsn">description::
<br>ES 2017 introduced Asynchronous functions.
<br>Async functions are essentially a cleaner way to work with asynchronous code in JavaScript.
<br>In order to understand exactly what these are, and how they work, we first need to understand Promises.
<br>... Async functions return a Promise. If the function throws an error, the Promise will be rejected. If the function returns a value, the Promise will be resolved.
<br>[https://codeburst.io/Javascript-es-2017-learn-async-await-by-example-48acc58bad65]
<a class="clsHide" href="#idLjsfAsncdsn"></a></p>
<p id="idLjsfAsncnam">name::
<br>* Mcs.async-function.Javascript,
<br>* Mcs.lagJs-f.async,
<a class="clsHide" href="#idLjsfAsncnam"></a></p>
<p id="idLjsfAsncwpa">addressWpg::
<br>* {2017-11-07} Brandon-Morelli, JavaScript ES 2017: Learn Async/Await by Example, <a href="https://codeburst.io/Javascript-es-2017-learn-async-await-by-example-48acc58bad65">https://codeburst.io/</a>,
<br>* {2017-08-31} Diogo-Spínola, JavaScript — from callbacks to async/await, <a href="https://medium.freecodecamp.org/Javascript-from-callbacks-to-async-await-1cc090ddad99">https://medium.freecodecamp.org/</a>,
<a class="clsHide" href="#idLjsfAsncwpa"></a></p>
</section>
<section id="idLjsfCls">
<h3 id="idLjsfClsH3">lagJs-f.CLASS
<a class="clsHide" href="#idLjsfClsH3"></a></h3>
<p id="idLjsfClsdsn">description::
<br><span class="clsQuote">JavaScript classes introduced in ECMAScript 2015 are syntactical sugar over JavaScript's existing prototype-based inheritance. The class syntax is not introducing a new object-oriented inheritance model to JavaScript. JavaScript classes provide a much simpler and clearer syntax to create objects and deal with inheritance.
<br>Defining classes
<br>Classes are in fact "special functions", and just as you can define function expressions and function declarations, the class syntax has two components: class expressions and class declarations.</span>
[<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes</a>]
<a class="clsHide" href="#idLjsfClsdsn"></a></p>
<p id="idLjsfClsnam">name::
<br>* Mcs.lagJs'class,
<br>* Mcs.lagJs'class-function,
<br>* Mcs.lagJs-f.class,
<br>===
<br>I name a-class-function as: fNameCls.
<a class="clsHide" href="#idLjsfClsnam"></a></p>
<p id="idLjsfClsrsc">addressWpg::
<br>* <a href="http://www.2ality.com/2015/02/es6-classes-final.html">http://www.2ality.com/2015/02/es6-classes-final.html</a>,
<a class="clsHide" href="#idLjsfClsrsc"></a></p>
<p id="idLjsfClsevln">Evaluation:
<br>My-evaluation: <a class="clsPreview" href="#idLjselnProInheritance">on-inheritance</a>, <a class="clsPreview" href="#idLjselnTodoP1">on-todo</a>.
<a class="clsHide" href="#idLjsfClsevln"></a></p>
</section>
<section id="idLjsfCsr">
<h3 id="idLjsfCsrH3">lagJs-f.CONSTRUCTOR
<a class="clsHide" href="#idLjsfCsrH3"></a></h3>
<p id="idLjsfCsrdsn">description::
<br>Constructor is any <a class="clsPreview" href="#idLjsf">function</a> used to create <a class="clsPreview" href="#idLjsoCsr">objects</a> using the-new keyword.
<br><a class="clsPreview" href="#idLjsalg">Code</a>:
<br><code>var oName = new fName();</code>
<a class="clsHide" href="#idLjsfCsrdsn"></a></p>
<p id="idLjsfCsrnam">name::
<br>* Mcs.constructor-function.Javascript,
<br>* Mcs.lagJs'constructor,
<br>* Mcs.lagJs'constructor-function,
<br>* Mcs.lagJs-f.constructor,
<br>===
<br>Usually the-names of individual constructors begin with capital-letters.
<br>===
<br>I name a-constructor-function as: fNameCsr.
<a class="clsHide" href="#idLjsfCsrnam"></a></p>
<p id="idLjsfCsrproto">Constructor.prototype:
<br><a class="clsPreview" href="#idLjsombr">The-members</a> of this special member of a-constructor, are-inherited by <a class="clsPreview" href="#idLjsoCsr">the-objects-created-by-a-constructor</a>.
<br>In other words, Constructor.prototype is the-generic-object of a-constructor's objects.
<a class="clsHide" href="#idLjsfCsrmbr"></a></p>
</section>
<section id="idLjsfMtd">
<h3 id="idLjsfMtdH3">lagJs-f.METHOD
<a class="clsHide" href="#idLjsfMtdH3"></a></h3>
<p id="idLjsfMtddsn">description::
<br>Method is <a class="clsPreview" href="#idLjsf">a-function</a> <a class="clsPreview" href="#idLjsombr">member</a> of <a class="clsPreview" href="#idLjso">an-object</a>.
<a class="clsHide" href="#idLjsfMtddsn"></a></p>
<p id="idLjsfMtdnam">name::
<br>* Mcs.lagJs'method,
<br>* Mcs.lagJs-f.method,
<a class="clsHide" href="#idLjsfMtdnam"></a></p>
</section>
<section id="idLjsfNmd">
<h3 id="idLjsfNmdH3">lagJs-f.NAMED
<a class="clsHide" href="#idLjsfNmdH3"></a></h3>
<p id="idLjsfNmddsn">description::
<br>Named-function is <a class="clsPreview" href="#idLjsf">a-function</a> which has <a class="clsPreview" href="#idLjsfname">name</a>.
<br>
<br><code>// defined as:
<br>function f(){};
<br>// or
<br>var f1 = function f2(){};</code>
<a class="clsHide" href="#idLjsfNmddsn"></a></p>
<p id="idLjsfNmdnam">name::
<br>* Mcs.lagJs'named-function,
<br>* Mcs.lagJs-f.named,
<a class="clsHide" href="#idLjsfNmdnam"></a></p>
</section>
<section id="idLjsfNmdNo">
<h3 id="idLjsfNmdNoH3">lagJs-f.NAMED.NO
<a class="clsHide" href="#idLjsfNmdNoH3"></a></h3>
<p id="idLjsfNmdNodsn">description::
<br>NamedNo-function is <a class="clsPreview" href="#idLjsf">a-function</a> which has NO <a class="clsPreview" href="#idLjsfname">name</a>.
<br>
<br><code>// defined as:
<br>var f = function(){};</code>
<a class="clsHide" href="#idLjsfNmdNodsn"></a></p>
<p id="idLjsfNmdNonam">name::
<br>* Mcs.lagJs'anonymous-function,
<br>* Mcs.lagJs'namedNo-function,
<br>* Mcs.lagJs-f.namedNo,
<a class="clsHide" href="#idLjsfNmdNonam"></a></p>
</section>
<section id="idLjsfOrn">
<h3 id="idLjsfOrnH3">lagJs-f.OBJECT-RETURNING
<a class="clsHide" href="#idLjsfOrnH3"></a></h3>
<p id="idLjsfOrndsn">description::
<br><a class="clsPreview" href="#idLjso">Objects</a> have no <a class="clsPreview" href="#idLjselnConOsp">scope</a>.
<br>To overcome this, we create objects by creating functions[1], which have scope, that[1] return the-object we want.
<br><a class="clsPreview" href="#idLjsalg">Code</a>:
<br><code>function f() {
<br> &nbsp;var n = 1;
<br> &nbsp;function f1(){var n2 = n;}
<br> &nbsp;return {
<br> &nbsp; &nbsp;f1: f1;
<br> &nbsp; &nbsp;n: n;
<br> &nbsp;};
<br>}</code>
<a class="clsHide" href="#idLjsfOrndsn"></a></p>
<p id="idLjsfOrnnam">name::
<br>* Mcs.lagJs'factory-function,
<br>* Mcs.lagJs'object-factory-function,
<br>* Mcs.lagJs'object-returning-function,
<br>* Mcs.lagJs-f.factory,
<br>* Mcs.lagJs-f.object-factory,
<br>* Mcs.lagJs-f.object-returning,
<a class="clsHide" href="#idLjsfOrnnam"></a></p>
<p id="idLjsfOrnrsc">addressWpg::
<br>* <a href="https://www.sitepoint.com/factory-functions-Javascript/">https://www.sitepoint.com/factory-functions-Javascript/</a>,
<a class="clsHide" href="#idLjsfOrnrsc"></a></p>
</section>
<section id="idLjsfOpr">
<h3 id="idLjsfOprH3">lagJs-f.OPERATOR (lagJs-opr)
<a class="clsHide" href="#idLjsfOprH3"></a></h3>
<p id="idLjsfOprdsn">description::
<br>Operators are special <a class="clsPreview" href="#idLjsf">functions</a> with code similar to natural-languages and names special-symbols and special syntax.
<br>Operators[1] are <a class="clsPreview" href="#idLjssutCsmNo">built-in</a>, and <a class="clsPreview" href="#idLjshmnPmr">a-programer</a> <a class="clsPreview" href="#idLjsfcll">calls</a> them[1].
<a class="clsHide" href="#idLjsfOprdsn"></a></p>
<p id="idLjsfOprnam">name::
<br>* Mcs.lagJs'operator!⇒lagJs-opr,
<br>* Mcs.lagJs-opr,
<br>* Mcs.lagJs-opr(Javascript-operator)!⇒lagJs-opr,
<br>* Mcs.operator-in-Javascript!⇒lagJs-opr,
<a class="clsHide" href="#idLjsfOprnam"></a></p>
<section id="idLjsfOpropd">
<h4 id="idLjsfOpropdH4">operand of lagJs-opr
<a class="clsHide" href="#idLjsfOpropdH4"></a></h4>
<p id="idLjsfOpropddsn">description::
<br>Operands are the INPUT information of <a class="clsPreview" href="#idLjsfOpr">operators</a>.
<a class="clsHide" href="#idLjsfOpropddsn"></a></p>
<p id="idLjsfOpropdnam">name::
<br>* Mcs.lagJs'operand,
<br>* Mcs.lagJs-opr'operand,
<a class="clsHide" href="#idLjsfOpropdnam"></a></p>
</section>
<section id="idLjsfOprSpc">
<h4 id="idLjsfOprSpcH4">lagJs-opr.SPECIFIC
<a class="clsHide" href="#idLjsfOprSpcH4"></a></h4>
<p id="idLjsfOprSpcP1">specific::
<br>* <a class="clsPreview" href="#idLjsfOprUnr">unary-operator</a>,
<br>* <a class="clsPreview" href="#idLjsfOprBnr">binary-operator</a>,
<br>* <a class="clsPreview" href="#idLjsfOprTnr">ternary-operator</a>,
<br>=== GENERIC::
<br>* additive-operator,
<br>* arithmetic-operator,
<br>* assignment-operator,
<br>* binary-bitwise-operator,
<br>* binary-logical-operator,
<br>* bitwise-operator,
<br>* comparison-operator,
<br>* <a class="clsPreview" href="#idLjsfOprCdl">conditional-operator</a>,
<br>* equality-operator,
<br>* logical-operator,
<br>* multiplicative-operator,
<br>* relational-operator,
<br>* string-operator,
<br>=== INSTANCE::
<br>* +operator,
<br>* ++operator,
<br>* +=operator,
<br>* -operator,
<br>* --operator,
<br>* -=operator,
<br>* !operator,
<br>* !=operator,
<br>* !==operator,
<br>* &amp;operator,
<br>* &amp;&amp;operator,
<br>* *operator,
<br>* **operator,
<br>* *=operator,
<br>* **=operator,
<br>* /operator,
<br>* |operator,
<br>* ||operator,
<br>* |=operator,
<br>* ^operator,
<br>* =operator,
<br>* ==operator,
<br>* ===operator,
<br>* %operator,
<br>* %=operator,
<br>* &lt;operator,
<br>* &lt;&lt;operator,
<br>* &lt;=operator,
<br>* ?:operator,
<br>* /=operator,
<br>* &lt;&lt;=operator,
<br>* >>=operator,
<br>* &amp;=operator,
<br>* ^=operator,
<br>* >operator,
<br>* >>operator,
<br>* >>>operator,
<br>* >>>=operator,
<br>* >=operator,
<br>* &comma;operator,
<br>* comma-operator,
<br>* delete-operator,
<br>* in-operator,
<br>* <a class="clsPreview" href="#idLjselnConInstanceof">instanceof-operator</a>,
<br>* new-operator,
<br>* super-operator,
<br>* <a class="clsPreview" href="#idLjsfOprTypeof">typeof-operator</a>,
<br>* void-operator,
<a class="clsHide" href="#idLjsfOprSpcP1"></a></p>
</section>
<section id="idLjsfOprUnr">
<h4 id="idLjsfOprUnrH4">lagJs-opr.UNARY
<a class="clsHide" href="#idLjsfOprUnrH4"></a></h4>
<p id="idLjsfOprUnrdsn">description::
<br>A unary operator requires a single <a class="clsPreview" href="#idLjsfOpropd">operand</a>, either before or after the operator:
<br><code>operator operand</code>
<br>or
<br>operand operator
<br>For example, x++ or ++x.
<br>[<a href="https://developer.mozilla.org/el/docs/Web/JavaScript/Guide/Expressions_and_Operators">https://developer.mozilla.org/el/docs/Web/JavaScript/Guide/Expressions_and_Operators</a>]
<a class="clsHide" href="#idLjsfOprUnrdsn"></a></p>
<p id="idLjsfOprUnrnam">name::
<br>* Mcs.lagJs-opr.unary,
<br>* Mcs.lagJs'unary-operator,
<br>* Mcs.unary-operator.Javascript,
<a class="clsHide" href="#idLjsfOprUnrnam"></a></p>
<p id="idLjsfOprUnrSpc">specific::
<br>* <a href="http://www.ecma-international.org/ecma-262/index.html#sec-unary-operators">http://www.ecma-international.org/ecma-262/index.html#sec-unary-operators</a>,
<a class="clsHide" href="#idLjsfOprUnrSpc"></a></p>
</section>
<section id="idLjsfOprBnr">
<h4 id="idLjsfOprBnrH4">lagJs-opr.BINARY
<a class="clsHide" href="#idLjsfOprBnrH4"></a></h4>
<p id="idLjsfOprBnrdsn">description::
<br>A binary operator requires two <a class="clsPreview" href="#idLjsfOpropd">operands</a>, one before the operator and one after the operator:
<br><code>operand1 operator operand2</code>
<br>For example, 3+4 or x*y.
<br>[<a href="https://developer.mozilla.org/el/docs/Web/JavaScript/Guide/Expressions_and_Operators">https://developer.mozilla.org/el/docs/Web/JavaScript/Guide/Expressions_and_Operators</a>]
<a class="clsHide" href="#idLjsfOprBnrdsn"></a></p>
<p id="idLjsfOprBnrnam">name::
<br>* Mcs.lagJs-opr.binary,
<br>* Mcs.lagJs'binary-operator,
<br>* Mcs.binary-operator.Javascript,
<a class="clsHide" href="#idLjsfOprBnrnam"></a></p>
<p id="idLjsfOprBnrSpc">specific::
<br>* <a href="http://www.ecma-international.org/ecma-262/index.html#sec-unary-operators">http://www.ecma-international.org/ecma-262/index.html#sec-unary-operators</a>,
<a class="clsHide" href="#idLjsfOprBnrSpc"></a></p>
<section id="idLjsfOprAdd">
<h5 id="idLjsfOprAddH5">lagJs-opr.ADDITION (+)
<a class="clsHide" href="#idLjsfOprAddH5"></a></h5>
<p id="idLjsfOprAdddsn">description::
<br>The addition operator produces <strong>the sum</strong> of numeric operands or <strong>string concatenation</strong>.
<br>[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators]
<a class="clsHide" href="#idLjsfOprAdddsn"></a></p>
<p id="idLjsfOprAddnam">name::
<br>* Mcs.addition-operator.Javascript,
<br>* Mcs.lagJs'+(addition-operator),
<br>* Mcs.lagJs'addition-operator,
<br>* Mcs.lagJs-opr.addition(+),
<br>* Mcs.lagJs-opr.+(addition),
<a class="clsHide" href="#idLjsfOprAddnam"></a></p>
<p id="idLjsfOprAddexpl">example::
<br><code>// Number + Number -> addition
<br>1 + 2 // 3
<br>
<br>// Boolean + Number -> addition
<br>true + 1 // 2
<br>
<br>// Boolean + Boolean -> addition
<br>false + false // 0
<br>
<br>// Number + String -> concatenation
<br>5 + 'foo' // "5foo"
<br>
<br>// String + Boolean -> concatenation
<br>'foo' + false // "foofalse"
<br>
<br>// String + String -> concatenation
<br>'foo' + 'bar' // "foobar"</code>
<br>[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators]
<a class="clsHide" href="#idLjsfOprAddexpl"></a></p>
</section>
</section>
<section id="idLjsfOprTnr">
<h4 id="idLjsfOprTnrH4">lagJs-opr.TERNARY
<a class="clsHide" href="#idLjsfOprTnrH4"></a></h4>
<p id="idLjsfOprTnrdsn">description::
<br>A-ternary operator requires THREE <a class="clsPreview" href="#idLjsfOpropd">operands</a>.
<br>Javascript has only one ternary-operator, the-conditional-operator.
<br>[<a class="clsPreview" href="../../#idAboutme">HmnSgm</a>.2017-10-11]
<a class="clsHide" href="#idLjsfOprTnrdsn"></a></p>
<p id="idLjsfOprTnrnam">name::
<br>* Mcs.lagJs-opr.ternary,
<br>* Mcs.lagJs'ternary-operator,
<br>* Mcs.ternary-operator.Javascript,
<a class="clsHide" href="#idLjsfOprTnrnam"></a></p>
<p id="idLjsfOprTnrSpc">specific::
<br>* <a class="clsPreview" href="#idLjsfOprCdl">Conditional-operator</a>,
<a class="clsHide" href="#idLjsfOprTnrSpc"></a></p>
<section id="idLjsfOprCdl">
<h5 id="idLjsfOprCdlH5">lagJs-opr.CONDITIONAL
<a class="clsHide" href="#idLjsfOprCdlH5"></a></h5>
<p id="idLjsfOprCdldsn">description::
<br>The conditional operator is the only JavaScript operator that takes three operands.
<br>The operator can have one of two values based on a condition.
<br>The syntax is:
<br><code>condition ? val1 : val2</code>
<br>If condition is true, the operator has the value of val1.
<br>Otherwise it has the value of val2.
<br>You can use the conditional operator anywhere you would use a standard operator.
<br>For example,
<br><code>var status = (age >= 18) ? 'adult' : 'minor';</code>
<br>This statement assigns the value "adult" to the variable status if age is eighteen or more.
<br>Otherwise, it assigns the value "minor" to status.
<br>[<a href="https://developer.mozilla.org/el/docs/Web/JavaScript/Guide/Expressions_and_Operators#Conditional_(ternary)_operator">https://developer.mozilla.org/el/docs/Web/JavaScript/Guide/Expressions_and_Operators</a>]
<a class="clsHide" href="#idLjsfOprCdldsn"></a></p>
<p id="idLjsfOprCdlnam">name::
<br>* Mcs.lagJs-opr.conditional,
<br>* Mcs.lagJs'conditional-operator,
<br>* Mcs.conditional-operator.Javascript,
<a class="clsHide" href="#idLjsfOprCdlnam"></a></p>
</section>
<section id="idLjsfOprTypeof">
<h5 id="idLjsfOprTypeofH5">lagJs-opr.typeof
<a class="clsHide" href="#idLjsfOprTypeofH5"></a></h5>
<p id="idLjsfOprTypeofdsn">description::
<br>typeof does not throw an error in case the identifier cannot be resolved, it merely returns the string 'undefined'.
<br>... The first oddity is that typeof null returns object, which does not make any sense.
<br>It is a dangerous pitfall.
<br>[<a href="https://molily.de/robust-Javascript/#how-to-prevent-failure">https://molily.de/robust-Javascript/#how-to-prevent-failure</a>]
<a class="clsHide" href="#idLjsfOprTypeofdsn"></a></p>
<p id="idLjsfOprTypeofnam">name::
<br>* Mcs.lagJs-opr.typeof,
<br>* Mcs.lagJs'typeof-operator,
<br>* Mcs.typeof-operator.Javascript,
<a class="clsHide" href="#idLjsfOprTypeofnam"></a></p>
</section>
</section>
</section>
<section id="idLjsfSex">
<h3 id="idLjsfSexH3">lagJs-f.SELF-EXECUTING
<a class="clsHide" href="#idLjsfSexH3"></a></h3>
<p id="idLjsfSexdsn">description::
<br>Self-executing-function is <a class="clsPreview" href="#idLjsf">a-function</a> which <a class="clsPreview" href="#idLjsfdfn">defined</a> and <a class="clsPreview" href="#idLjsfcll">called</a> at the same time.
<br><a class="clsPreview" href="#idLjsalg">Code</a>:
<br><code>(function() {
<br> &nbsp;//what to do
<br> &nbsp;//last, what to return
<br>})();</code>
<a class="clsHide" href="#idLjsfSexdsn"></a></p>
<p id="idLjsfSexnam">name::
<br>* Mcs.lagJs-f.self-executing,
<br>* Mcs.lagJs'self-executing-function,
<br>* Mcs.lagJs-f.self-executing,
<br>* Mcs.lagJs'self-executing-function,
<a class="clsHide" href="#idLjsfSexnam"></a></p>
<p id="idLjsfSexiife">Immediately-invoked-function-expression (IIFE):
<br>It is <a class="clsPreview" href="#idLjsSexdsn">the-sentence in the-code</a> that defines and calls the-function.
<a class="clsHide" href="#idLjsfSexnam"></a></p>
</section>
</section>
<section id="idLjsm">
<h2 id="idLjsmH2">Sunt.module (lagJs-m)
<a class="clsHide" href="#idLjsmH2"></a></h2>
<p id="idLjsmdsn">description::
<br>Module is <a class="clsPreview" href="#idLjssut">a-semantic-unit</a> which
<br>- can-be PART OF other modules and
<br>- can-has AS PART other modules.
<br>Like 'the-prototype-inheritance' mechanism which manages the GENERIC-SPECIFIC relations of the-semantic-units of an-API, modules is the-mechanism needed to manage the WHOLE-PART relations of the-semantic-units.
<br>Today only <a class="clsPreview" href="filMcsLjn.last.html#idLjn">Ljn</a> supports modules.
<br>===
<br>Good authors divide their books into chapters and sections; good programmers divide their programs into modules.
<br>[https://medium.freecodecamp.org/Javascript-modules-a-beginner-s-guide-783f7d7a5fcc, Preethi-Kasireddy, {2016-01-22}]
<a class="clsHide" href="#idLjsmdsn"></a></p>
<p id="idLjsmnam">name::
<br>* Mcs.lagJs'module!⇒lagJs-m,
<br>* Mcs.lagJs'module--semantic-unit!⇒lagJs-m,
<br>* Mcs.lagJs-Sunt.module!⇒lagJs-m,
<br>* Mcs.lagJs-m,
<br>* Mcs.lagJs-m'(Javascript-module)!⇒lagJs-m,
<br>* Mcs.module--semantic-unit--of-Javascript!⇒lagJs-m,
<a class="clsHide" href="#idLjsmnam"></a></p>
<p id="idLjsmwpa">addressWpg::
<br>* {2018-06-18} Addy-Osmani, Mathias-Bynens, Using JavaScript modules on the web, <a href="https://developers.google.com/web/fundamentals/primers/modules">https://developers.google.com/web/fundamentals/</a>,
<br>* {2018-03-28} Lin-Clark, ES modules: A cartoon deep-dive: <a href="https://hacks.mozilla.org/2018/03/es-modules-a-cartoon-deep-dive/">https://hacks.mozilla.org/2018/03/es-modules-a-cartoon-deep-dive/</a>,
<br>* {2017-05-02} Jake-Archibald, ECMAScript modules in browsers: <a href="https://jakearchibald.com/2017/es-modules-in-browsers/">https://jakearchibald.com/2017/es-modules-in-browsers/</a>,
<a class="clsHide" href="#idLjsmwpa"></a></p>
<p id="idLjsmgnc">generic-chain::
<br>* <a class="clsPreview" href="#idLjssut">semantic-unit</a>,
<a class="clsHide" href="#idLjsmgnc"></a></p>
<section id="idLjsmscp">
<h3 id="idLjsmscpH3">scope of lagJs-m
<a class="clsHide" href="#idLjsmscpH3"></a></h3>
<p id="idLjsmscpdsn">description::
<br>With modules, you group the variables and functions that make sense to go together.
<br>This puts these functions and variables into a module scope.
<br>The module scope can be used to share variables between the functions in the module.
<br>But unlike function scopes, module scopes have a way of making their variables available to other modules as well. They can say explicitly which of the variables, classes, or functions in the module should be available.
<br>[https://hacks.mozilla.org/2018/03/es-modules-a-cartoon-deep-dive/]
<a class="clsHide" href="#idLjsmscpdsn"></a></p>
<p id="idLjsmscpnam">name::
<br>* Mcs.lagJs-m'scope,
<br>* Mcs.scope-of--Javascript-module,
<a class="clsHide" href="#idLjsmscpnam"></a></p>
</section>
<section id="idLjsmSpc">
<h3 id="idLjsmSpcH3">lagJs-m.SPECIFIC
<a class="clsHide" href="#idLjsmSpcH3"></a></h3>
<p id="idLjsmSpcnam">name::
<br>* Mcs.lagJs-m.specific,
<a class="clsHide" href="#idLjsmSpcnam"></a></p>
<p id="idLjsmSpcP1">specific::
<br>* <a class="clsPreview" href="filMcsLjb.last.html#idLjbm">browser-module</a>,
<br>* <<