Difference between revisions of "JavaScript"

From BC$ MobileTV Wiki
Jump to: navigation, search
(Vue.JS)
Line 268: Line 268:
 
* Stop Using Function Parameters Now Use object destructuring instead: https://blog.bitsrc.io/stop-using-function-parameters-now-d320cf0932df
 
* Stop Using Function Parameters Now Use object destructuring instead: https://blog.bitsrc.io/stop-using-function-parameters-now-d320cf0932df
 
* What are JavaScript ''options'' objects?: https://www.codereadability.com/what-are-javascript-options-objects/ (common technique for passing a series of parameters)
 
* What are JavaScript ''options'' objects?: https://www.codereadability.com/what-are-javascript-options-objects/ (common technique for passing a series of parameters)
 +
 +
==== Modules ====
 +
 +
* JavaScript modules: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules (''exports'' statement wrapping specific variables/functions)
 +
  
 
==== Closures ====
 
==== Closures ====
Line 1,649: Line 1,654:
 
* Why do function declarations get hoisted and function expressions don't?: https://stackoverflow.com/questions/57799578/why-do-function-declarations-get-hoisted-and-function-expressions-dont
 
* Why do function declarations get hoisted and function expressions don't?: https://stackoverflow.com/questions/57799578/why-do-function-declarations-get-hoisted-and-function-expressions-dont
 
* 3 small tips to become Master Yoda of modern JavaScript: https://medium.com/front-end-weekly/3-small-tips-to-make-you-master-yoda-of-typescript-10f7ec4e2ff8
 
* 3 small tips to become Master Yoda of modern JavaScript: https://medium.com/front-end-weekly/3-small-tips-to-make-you-master-yoda-of-typescript-10f7ec4e2ff8
 +
* Top 10 Algorithms to Improve your JavaScript Skills: https://javascript.plainenglish.io/top-10-algorithms-improve-your-javascript-skills-21507c25ff7
  
  

Revision as of 06:31, 18 June 2022

Contents

JavaScript is a structural (or potentially, partial object-oriented) programming language designed to work with (i.e. supported by) most modern web browsers. While not particularly Java-like in terms of language syntax, variable definition/initialization/scoping or function calls, it does borrow some object-oriented philosophies and certainly the philosophy of "write-once, run anywhere" from Java, hence borrowing the name. It was originally created to enable more interactive features to be added to static and/or dynamically served web pages withhin Websites or Web Applications. Because of its usefulness and simplicity in developing/running/testing small interactivity features, the Web saw a rise in popularity of the WebApp, with AJAX eventually leading the Web 2.0 movement.

It has also been called the world's most misunderstood programming language.[1][2]



Specifications

  • W3C - Subresource Integrity (SRI): https://www.w3.org/TR/SRI/ (acheiving code-signing through use of "integrity" attribute on <script> tags)

[5] [6]


Language

[7] [8] [9] [10] [11] [12] [13]

Graceful Degradation / Unobtrusive JS

Graceful Degradation (sometimes also called Unobtrusive Javascript[14]) is the maintenance of separation of concerns when programming client-side applications, and serves to divide up a client application into:

  • Content = HTML/xHTML
  • Style = CSS
  • Behavior = JS (or VBscript)

The central idea behind taking the extra care required to write Unobtrusive Javascript, is that it allows you to be certain that your code will run as well as look and behave as similar as possible, on the widest array of devices, browsers and operating systems. The following is an Unobtrusive Javascript checklist:

  1. Begin with your content
  2. Give it structure with semantically descriptive markup
  3. Apply presentation layer changes using external CSS only (avoid all possible use of inline "style" attributes), and finally,
  4. Add a behavior layer with DOM scripting, rather than inline JavaScript or event handler attributes such as onclick, onkeypress, onmouseover, etc.

[15]

[16] [17] [18] [19]


Progressive Enhancement

Along the same line of thought as Unobtrusive JavaScript is the idea of "Progressive Enhancement", also referred to as the Fallback technique (as a conscious attempt is made to provide as many fallbacks and alternative rendering, display or support methods as possible). Progressive Enhancement builds on the same foundations as Unobtrusive Javascript but adds the following two requirements:

  1. All navigation must happen via links and form submissions – don’t use JavaScript for navigation.
  2. If necessary, add JavaScript enhancements to navigation, overriding the links and form submissions, for example to avoid page reloads. Every single link and form element should still work when JavaScript is disabled.

[20]

[21] [22] [23]

Polyfill

[24] [25] [26] [27] [28] [29] [30] [31]

Responsive Design

See: Responsive Design


Functions

Generators


Defer & Async

[32] [33] [34]

Fetch


window

document

Events

[35] [36] [37] [38] [39] [40] [41] [42]

Loops

for

forEach
for ... in


Arrays

[43] [44]

Associative Arrays

Associative Arrays in JavaScript are not proper in the sense that the entire list of associative key/value pairs may include other non-data components such as array operations (i.e. put, pop, trim, remove, etc...) as unexpected values when looping through the entire "Associative Array"

[45] [46] [47] [48] [49]

Multi-Dimensional Arrays

[50]


Maps & Sets

[51]


Object

[52] [53] [54] [55] [56] [57] [58]

Prototype

EXAMPLE #1 - Prototypal Functions:

Function.prototype.method = function(name, func) {
  this.prototype[name] = func;
  return this;
}

EXAMPLE #2 - Differential Inheritance (object literal, instance, extension):

var myMammal = {
   name : 'Mammal',
   get_name : function() {
     return this.name;
   },
   says : function() {
     return this.saying || ;
   }
};
var myDog = Object.create(myMammal);
myDog.name = 'Poochie';
myDog.saying = 'Woof';
myDog.bark = function(n) {
  var i, s = ;
  for (i = 0; i < n; i++) {
    if (s) {
      s += '-';
    }
    s += 'r';    
  }
  return s;
};
myDog.get_name = function() {
  return this.says() + ' ' + this.name + ' ' + this.says();
};
 

[59] [60] [61] [62] [63] [64]

Class

[65]

Options parameters / Destructuring

Modules


Closures

[66] [67] [68] [69] [70] [71] [72] [73]

Currying

[74] [75] [76]

Composition

[77]


IIFE

JavaScript Immediately-Invoked Function Expressions (IIFE).

[78] [79] [80] [81] [82] [83] [84]


Cookies

Cookies are small client-side data caches to store small amounts of data (such as session ID numbers, timestamps and other non-personal unique identifiers).

[85] [86] [87] [88] [89] [90] [91] [92]


DOM Query Selectors

New JavaScript native functions (inspired by jQuery) have been introduced in JavaScript 2 which can locate HTML elements in a more robust manner than the limited and traditional manners of getElementById() and name-based lookups, for example:

<form name="test"><input name="myfield" /></form>
<script>var myfieldVal = document.test.myfield.value;</script>

In terms of browser support... querySelector(), querySelectorAll() and getElementsByClassName() are supported in Firefox 3.1+, IE8+ (only in IE8 standards mode), and Safari 3.1+

[93] [94] [95] [96] [97] [98] [99] [100] [101] [102]

getElementById

Looks up a single DOM Element based on the "id" attribute.

getElementsByName

Looks up single DOM Element(s) based on the "name" attribute.

getElementsByTagName

Looks up 1-to-n DOM Element(s) based on the "element (tag)" name.

getElementsByClassName

Looks up 1-to-n DOM Element(s) based on the "class" attribute.

querySelector

Looks up single DOM Element(s) based on the "selector" value (such as "#something" for an ID, ".something" for a CSS Class, or, "table tr td" for specific elements and many more selectors).

querySelectorAll

Looks up 1-to-n DOM Element(s) based on the "selector" value per querySelector.

getAttribute

[103] [104] [105]

DOM Traversal

AJAX (XHR)

Xml Http Request (XHR) is a native JavaScript object which has several different implementations and behaviors across browsers (particularly older versions of IE). It is a method for remotely requesting (calling) content in the form of(but not limited to) XML. It can also be used to get data in HTML, JSON, RDF, n3, CSV, TSV, and many other File Formats. Both GET and POST methods are supported, while PUT and DELETE have only partial support which varies even more greatly across platforms.

   var url = 'http://sandbox.api.shopping.com/publisher/3.0/rest/GeneralSearch?apiKey=authorized-key&trackingId=7000610&keyword=nikon';
   if (window.XMLHttpRequest)
   {
     xhttp=new XMLHttpRequest();
   }
   else
   {
     xhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
   xhttp.open("GET",url,false);
   xhttp.send();
   return xhttp.responseXML;

For more, see AJAX section.


Parsing XML

To retrieve a sub-list of multiple (identically named) elements:

    <html>
    <head>
    <script type="text/javascript" src="loadxmldoc.js"></script>
    </head>
    <body>
    <div id="books">
    </div>
    <script type="text/javascript">
      xmlDoc=loadXMLDoc("books.xml");
      books=xmlDoc.getElementsByTagName("book");
      var booksDiv = document.getElementById("books");
      booksDiv.innerHTML = "<ol>";
      for (i = 0; i < books.length; i++)
      {
           title=xmlDoc.getElementsByTagName("title")[i].childNodes[0].nodeValue;
           booksDiv.innerHTML += "<li>" + title + " by: ";
           title=xmlDoc.getElementsByTagName("title")[i].childNodes[0].nodeValue;
           authors=books[i].getElementsByTagName("author");
           for (j = 0; j < authors.length; j++)
           {
             author = authors[j].childNodes[0].nodeValue;
             if (authors.length == 1 || (authors.length-1) == j) 
               booksDiv.innerHTML += author;              
             else 
               booksDiv.innerHTML += author + ", ";    
           }
      }
      booksDiv.innerHTML += "</ol>";
    </script>
    </body>
    </html>

[106] [107] [108] [109]


Likewise, for parsing an XML string in Javascript (no AJAX call):

    <html>
    <head>
    <script type="text/javascript" src="loadxmlstring.js"></script>
    </head>
    <body>
    <div id="books">
    </div>
    <script type="text/javascript">
xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>"
+ "<bookstore>"
+ "<book category=\"cooking\">"
+ "<title lang=\"en\">Everyday Italian</title>"
+ "<author>Giada De Laurentiis</author>"
+ "<year>2005</year>"
+ "<price>30.00</price>"
+ "</book>"
+ "<book category=\"children\">"
+ "<title lang=\"en\">Harry Potter</title>"
+ "<author>J K. Rowling</author>"
+ "<year>2005</year>"
+ "<price>29.99</price>"
+ "</book>"
+ "<book category=\"web\">"
+ "<title lang=\"en\">XQuery Kick Start</title>"
+ "<author>James McGovern</author>"
+ "<author>Per Bothner</author>"
+ "<author>Kurt Cagle</author>"
+ "<author>James Linn</author>"
+ "<author>Vaidyanathan Nagarajan</author>"
+ "<year>2003</year>"
+ "<price>49.99</price>"
+ "</book>"
+ "<book category=\"web\" cover=\"paperback\">"
+ "<title lang=\"en\">Learning XML</title>"
+ "<author>Erik T. Ray</author>"
+ "<year>2003</year>"
+ "<price>39.95</price>"
+ "</book>"
+ "</bookstore>";
      xmlDoc=loadXMLString(xml);
      books=xmlDoc.getElementsByTagName("book");
      var booksDiv = document.getElementById("books");
      booksDiv.innerHTML = "<ol>";
      for (i = 0; i < books.length; i++)
      {
           title=xmlDoc.getElementsByTagName("title")[i].childNodes[0].nodeValue;
           booksDiv.innerHTML += "<li>" + title + " by: ";
           authors=books[i].getElementsByTagName("author");
           for (j = 0; j < authors.length; j++)
           {
             author = authors[j].childNodes[0].nodeValue;
             if (authors.length == 1 || (authors.length-1) == j) 
               booksDiv.innerHTML += author;              
             else 
               booksDiv.innerHTML += author + ", ";    
           }
      }
     booksDiv.innerHTML += "</ol>";
    </script>
    </body>
    </html>

[110] [111] [112] [113] [114]


Promises

[115] [116] [117] [118] [119] [120] [121] [122]

[123] [124] [125] [126] [127] [128]


Closures

Features

Features commonly implemented using JavaScript are listed here.

Show/Hide

Feature giving the ability to show/hide content in a webpage or application.

[130] [131] [132] [133] [134] [135] [136]


Hash Navigation

[137] [138]


Input Validation

Client-side input validation (prior to and perhaps after sending data to the server).

[139] [140]


User-Agent Detection

One of the most useful features of JavaScript is ironically, one of its largest setbacks. Since JavaScript behaves slightly differently across different implementations (i.e. by browser types and OSs), a number of library components were included for detecting the Client/User-Agent of the application and platform through which a given piece of JavaScript was accessed.

[141] [142] [143]



Libraries

Node.JS

Node.JS is much more than just a simple Javascript front-end library or set of convenience utilities, it is a full fledged platform for running JavaScript on the server-side (i.e. within a command-line prompt or via backend code that never interacts with an end user). Node.JS is powered by the V8 JavaScript engine, and offers a number of additional utilities (or JS libraries) of its own via Node.JS plugins and extensions. An emerging all-Javascript software architecture for doing all stages of programming from even Database Server storage to the Application Server, and the Front-End view interaction code to the Back-End MVC model and controller code, is called MEAN (which stands for MongoDB, Express.JS, Angular.JS, Node.JS).

[154] [155] [156] [157]

[158]

[159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188] [189] [190] [191] [192] [193]

[194] [195] [196] [197] [198] [199] [200] [201]

Deno

  • Deno - A modern runtime for JavaScript and TypeScript: https://deno.land/ (NodeJS creator's completely re-imagined "JS on the server" platform alternative to NodeJS)

[202]

NPM

Node Package Manager (NPM).

[203] [204] [205]

[207] [208] [209] [210] [211] [212] [213] [214] [215] [216] [217] [218] [219] [220] [221] [222] [223] [224] [225] [226] [227] [228] [229] [230] [231] [232] [233] [234]

Mocha/Chai

[236] [237] [238] [239] [240] [241] [242] [243] [244] [245] [246] [247] [248] [249] [250] [251]

Express.JS

Express is a plugin for efficient and fast HTTP handling (requests/responses) and provides a true web application framework for Node.JS applications.

jQuery

jQuery has long been the leading (most-used) JavaScript library. It provides a number of features primary of which is cross-browser backwards-compatibility, DOM selectors, CSS selectors, dynamic interactivity (event delegation) and a simple plugin/extension framework.

  • jQuery: http://jquery.com/ (fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions)
  • ResponseJS: http://responsejs.com/ (jQuery-based responsive framework)

jQuery Mobile


Sencha

Sencha Touch

Raphael


Oracle JET

[252]


YUI


DOJO


Prototype

MooTools

Scriptaculous

  • Scriptaculous: http://script.aculo.us/ (extension of Prototype.JS; one of the first which focused on impressive animations all using DOM manipulation)


Templating

[261][262]

Angular.JS

Of Particular note in the category of "Templating/Eventing" JavaScript libraries is the Angular.JS library. It is described by its founders as "what HTML would have been, had it been designed for building web-apps" and provides Declarative templates with data-binding, MVW, MVVM, MVC, etc. According to its own site: "HTML is great for declaring static documents, but it falters when we try to use it for declaring dynamic views in web-applications. AngularJS lets you extend HTML vocabulary for your application. The resulting environment is extraordinarily expressive, readable, and quick to develop. Other frameworks deal with HTML’s shortcomings by either abstracting away HTML, CSS, and/or JavaScript or by providing an imperative way for manipulating the DOM. Neither of these address the root problem that HTML was not designed for dynamic views."

In summary, angular lets you create your own HTML tags and put "data placeholders" right into the HTML layout, which then get dynamically populated and updated by the Angular.JS framework, based on particular events that happen within the page (or outside of it, i.e. via data pushed from the backend).

[263] [264] [265] [266][267][268][269][270] [271] [272] [273]

Ionic

Ionic Framework is a library for hybrid mobile application development in Angular, React, Vue and/or "vanilla" JavaScript.

[276] [277] [278] [279] [280] [281] [282] [283] [284] [285] [286] [287] [288] [289] [290] [291] [292] [293] [294] [295] [296] [297] [298] [299] [300] [301]

Backbone.JS

A close runner-up to Angular.JS in terms of popularity, Backbone.JS follows a similar concept of templating/eventing and "data placeholders", but has some differences in features and implementation.

[302]


Isomorphic

Knockout.JS

[303] [304] [305] [306] [307] [308] [309] [310] [311] [312] [313] [314] [315] [316] [317] [318] [319] [320] [321] [322] [323] [324] [325] [326]


Vue.JS

[328] [329] [330] [331] [332] [333] [334] [335] [336] [337] [338] [339] [340] [341] [342] [343] [344] [345] [346] [347] [348] [349] [350] [351] [352] [353] [354] [355] [356] [357] [358] [359] [360] [361] [362] [363] [364] [365] [366] [367] [368] [369] [370] [371] [372] [373] [374] [375] [376] [377] [378] [379] [380] [381] [382] [383] [384] [385] [386] [387] [388] [389] [390] [391] [392] [393] [394] [395] [396]

React.JS

[405] [406] [407] [408] [409] [410] [411] [412] [413] [414] [415] [416] [417] [418] [419] [420] [421] [422] [423] [424] [425] [426] [427] [428] [429] [430] [431] [432] [433] [434] [435] [436] [437] [438] [439] [440] [441] [442] [443] [444] [445] [446] [447] [448] [449] [450] [451] [452] [453] [454] [455] [456] [457] [458] [459] [460] [461] [462] [463] [464] [465] [466] [467] [468] [469] [470] [471] [472] [473] [474] [475] [476] [477] [478] [479]

[480] [481]

[482] [483] [484]

SWR

[485] [486]

ReactNative

[490] [491] [492] [493] [494] [495] [496] [497] [498] [499] [500] [501] [502] [503] [504] [505] [506] [507] [508] [509]

[510] [511] [512] [513] [514] [515] [516] [517] [518] [519] [520] [521] [522] [523] [524] [525] [526] [527] [528] [529] [530] [531]

[532] [533] [534] [535] [536] [537] [538] [539]

[540] [541] [542] [543] [544] [545] [546]


Svelte

Svelte's selling points over other emerging JS frameworks are:

  1. Write less code - Build boilerplate-free components using languages you already know — HTML, CSS and JavaScript
  2. No virtual DOM - Svelte compiles your code to tiny, framework-less vanilla JS — your app starts fast and stays fast
  3. Truly reactive - No more complex state management libraries — Svelte brings reactivity to JavaScript itself

[547] [548]


Desktop

Electron

[549]


Other


Tools

Transpiling

You might not need JavaScript: http://youmightnotneedjs.com/

Builds

[562] [563] [564] [565] [566]

Optimization

Minifying

Obfuscation

Packing

Unpacking


Testing


Code Documentation

[579]


Javascript Engine


Editors


Resources



Tutorials

[595] [596] [597] [598] [599] [600]


External Links

[636] [637]

[641] [642] [643] [644] [645] [646]


References

  1. Douglas Crockford's site on JavaScript: http://javascript.crockford.com/
  2. Brendan Eich - Proxies are Awesome!: http://jsconf.eu/2010/speaker/be_proxy_objects.html
  3. A Homepage for the JavaScript Specification: https://hacks.mozilla.org/2019/03/a-homepage-for-the-javascript-specification/
  4. wikipedia: ECMAScript
  5. Moz Dev -- Subresource Integrity (SRI): https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity
  6. Do not let your CDN betray you -- Use Subresource Integrity: https://hacks.mozilla.org/2015/09/subresource-integrity-in-firefox-43/
  7. JS Standard style guide - GitHub repo: http://github.com/feross/standard
  8. Why I Use a JavaScript Style Guide and Why You Should Too: https://www.sitepoint.com/why-use-javascript-style-guide/
  9. jQuery - JS style guide: https://contribute.jquery.org/style-guide/js/
  10. Airbnb JavaScript Style Guide: https://github.com/airbnb/javascript
  11. Google - JavaScript Style Guide: https://google.github.io/styleguide/javascriptguide.xml
  12. Google Reveals its HTML, CSS and JavaScript Style Guides: https://www.sitepoint.com/google-html-css-javascript-style-guides/
  13. JavaScript equality table: https://dorey.github.io/JavaScript-Equality-Table/
  14. wikipedia: Fault-tolerant system
  15. Behavioral Separation: http://www.alistapart.com/articles/behavioralseparation
  16. Remove Render-Blocking JavaScript: https://developers.google.com/speed/docs/insights/BlockingJS
  17. script (defer) doesn't work in IE<=9: https://github.com/h5bp/lazyweb-requests/issues/42 (workarounds & research on "DEFER" script attribute alternative)
  18. Can't append <script> element: http://stackoverflow.com/a/3603496
  19. Where is the best place to put <script> tags in HTML markup?: http://stackoverflow.com/questions/436411/where-is-the-best-place-to-put-script-tags-in-html-markup
  20. JavaScript and the end of progressive enhancement: http://skilldrick.co.uk/2011/05/javascript-and-the-end-of-progressive-enhancement/
  21. Pragmatic Progressive Enhancement: http://www.zachleat.com/web/pragmatic/
  22. A Complete Guide to Progressive Enhancement: http://www.webdesignerdepot.com/2010/08/a-complete-guide-to-progressive-enhancement/
  23. Progressive Enhancement - What it is and how to use it: http://coding.smashingmagazine.com/2009/04/22/progressive-enhancement-what-it-is-and-how-to-use-it/
  24. wikipedia: Adapter pattern
  25. Polyfill.io: https://polyfill.io/ | DOCS
  26. Polyfills and the evolution of the Web: https://www.w3.org/2001/tag/doc/polyfills/
  27. What is the difference between a shim and a polyfill?: https://stackoverflow.com/questions/6599815/what-is-the-difference-between-a-shim-and-a-polyfill
  28. WebComponents - Polyfills: https://www.webcomponents.org/polyfills
  29. Polymer Project - Polyfills: https://www.polymer-project.org/2.0/docs/polyfills
  30. Introduction To Polyfills & Their Usage: https://medium.com/beginners-guide-to-mobile-web-development/introduction-to-polyfills-their-usage-9cd6db4b1923
  31. WebXR Polyfill: https://github.com/immersive-web/webxr-polyfill
  32. Scripts -- async, defer: https://javascript.info/script-async-defer
  33. Script Tag - async & defer: https://stackoverflow.com/questions/10808109/script-tag-async-defer
  34. How to Defer Parsing of JavaScript in WordPress (4 Methods): https://kinsta.com/blog/defer-parsing-of-javascript/
  35. JavaScript Events: https://www.javascripttutorial.net/javascript-dom/javascript-events/
  36. stopPropagation() Event Method: https://www.w3schools.com/jsref/event_stoppropagation.asp
  37. JavaScript event loops, call stack and heap visualized; https://youtu.be/8aGhZQkoFbQ
  38. Loupe - callstack visualizer tool: http://latentflip.com/loupe
  39. How can I attach a window resize event listener in JavaScript?: https://stackoverflow.com/questions/13651274/how-can-i-attach-a-window-resize-event-listener-in-javascript
  40. Correct usage of addEventListener() / attachEvent()?: https://stackoverflow.com/questions/2657182/correct-usage-of-addeventlistener-attachevent/10896968
  41. JS adding multiple event listeners to one element: https://stackoverflow.com/questions/11845678/adding-multiple-event-listeners-to-one-element
  42. HTML DOM removeEventListener() method to stop listening on particular action: https://www.w3schools.com/jsref/met_element_removeeventlistener.asp
  43. Array.prototype.findIndex(): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex
  44. Alternative or polyfill for Array.from on Internet Explorer: https://stackoverflow.com/questions/36810940/alternative-or-polyfill-for-array-from-on-the-internet-explorer/62682524#62682524
  45. Loop through key value pairs from an associative array with Javascript: http://www.electrictoolbox.com/loop-key-value-pairs-associative-array-javascript/
  46. How to get index of an object in an associative array?: https://stackoverflow.com/questions/9273157/javascript-how-to-get-index-of-an-object-in-an-associative-array
  47. 3 Ways to Check If an Object Has a Property in JavaScript: https://dmitripavlutin.com/check-if-object-has-property-javascript/
  48. JavaScript - Associative Arrays; Considered Harmful: http://andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/
  49. Javascript Associative Arrays considered harmful: http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful
  50. Hash Tables in Javascript -- Constructing a Hash Table Implementation for Javascript: http://www.mojavelinux.com/articles/javascript_hashes.html
  51. Understanding Higher-Order Functions in JavaScript: https://blog.bitsrc.io/understanding-higher-order-functions-in-javascript-75461803bad
  52. Get the first key name of a JavaScript object: https://stackoverflow.com/questions/3298477/get-the-first-key-name-of-a-javascript-object
  53. Get object size in JS: https://www.hacksparrow.com/javascript/get-object-size.html
  54. Why "Named Arguments" are better than "Positional Arguments" (and why destructuring is even better than JS Object-passing): https://blog.bitsrc.io/javascript-why-named-arguments-are-better-than-positional-arguments-9b15ab3155ef
  55. 3 Practical Uses of Object Destructuring in JavaScript: https://medium.com/better-programming/3-practical-uses-of-object-destructuring-in-javascript-a2c34ce3367b
  56. How to loop through objects keys and values in Javascript?: https://flexiple.com/loop-through-object-javascript/
  57. Composing Software - An Introduction: https://medium.com/javascript-scene/composing-software-an-introduction-27b72500d6ea
  58. An introduction to Object-Oriented Programming in JavaScript: https://medium.com/free-code-camp/an-introduction-to-object-oriented-programming-in-javascript-8900124e316a
  59. OOP in JS, Part 1 - Public/Private Variables and Methods: http://phrogz.net/js/classes/OOPinJS.html
  60. OOP in JS, Part 2 - Inheritance: http://phrogz.net/js/classes/OOPinJS2.html
  61. The Two Pillars of JavaScript -- Part 1 - How to Escape the 7th Circle of Hell: https://medium.com/javascript-scene/the-two-pillars-of-javascript-ee6f3281e7f3
  62. Why you should not modify a JavaScript object prototype: https://flaviocopes.com/javascript-why-not-modify-object-prototype/
  63. How we avoided if/else and wrote extendable code with Strategy Pattern: https://itnext.io/how-we-avoided-if-else-and-wrote-extendable-code-with-strategy-pattern-256e34b90caf
  64. Master the JavaScript Interview: What’s the Difference Between Class & Prototypal Inheritance?: https://medium.com/javascript-scene/master-the-javascript-interview-what-s-the-difference-between-class-prototypal-inheritance-e4cd0a7562e9
  65. JavaScript Class vs Prototype - Organizing JavaScript Code: https://dzone.com/articles/javascript-class-vs-prototype-organizing-javascrip
  66. How do JavaScript closures work under the hood: https://dmitryfrank.com/articles/js_closures
  67. Master the JavaScript Interview - What is a Closure?: https://medium.com/javascript-scene/master-the-javascript-interview-what-is-a-closure-b2f0d2152b36
  68. Closure - Stateful Function: https://medium.com/@thanhnguyentien/closure-stateful-function-e2a18690e549
  69. JavaScript Closures: https://www.w3schools.com/js/js_function_closures.asp
  70. More closure examples: http://www.javascriptkit.com/javatutors/closures2.shtml
  71. JavaScript Naming Convention best practices: https://medium.com/javascript-in-plain-english/javascript-naming-convention-best-practices-b2065694b7d
  72. JavaScript best practices — Designing functions: https://medium.com/swlh/javascript-best-practices-designing-functions-1632838c5074
  73. Javascript setInterval clearInterval within closure Simple Example Not Working Explained?: https://stackoverflow.com/questions/18957186/javascript-setinterval-clearinterval-simple-example-not-working-explained
  74. Is there any difference between 'currying' and 'closure' in JavaScript?: https://www.quora.com/Is-there-any-difference-between-currying-and-closure-in-JavaScript
  75. Closures, Partial Application and Currying: Effective Functional JavaScript: https://hackernoon.com/ingredients-of-effective-functional-javascript-closures-partial-application-and-currying-66afe055102a
  76. What is the difference between currying and partial application?: https://stackoverflow.com/questions/218025/what-is-the-difference-between-currying-and-partial-application
  77. From Closures to Curry and Compose: https://medium.com/sngular-devs/from-closures-to-curry-and-compose-197d2abcadd8
  78. wikipedia: Immediately invoked function expression
  79. What Are CJS, AMD, UMD, ESM, System, and IIFE?: https://betterprogramming.pub/what-are-cjs-amd-umd-esm-system-and-iife-3633a112db62
  80. IIFE in JavaScript - What Are Immediately Invoked Function Expressions?: https://www.freecodecamp.org/news/iife-in-javascript-what/
  81. What is the (function() { } )() construct in JavaScript?: https://stackoverflow.com/questions/8228281/what-is-the-function-construct-in-javascript
  82. Immediately Invoked Function Expression (IIFE): https://www.javatpoint.com/es6-immediately-invoked-function-expression
  83. JavaScript - Immediately Invoked Function Expressions (IIFE): https://www.geeksforgeeks.org/javascript-immediately-invoked-function-expressions-iife/
  84. Immediately-Invoked Function Expression (IIFE): https://benalman.com/news/2010/11/immediately-invoked-function-expression/
  85. Get a Cookie - Javascript: http://www.brenz.net/cookies/get_cookie.asp
  86. JavaScript and Cookies: http://www.tutorialspoint.com/javascript/javascript_cookies.htm
  87. Using cookies: http://www.howtocreate.co.uk/tutorials/javascript/cookies
  88. jQuery JSON Cookie Plugin: http://lab.distilldesign.com/json-cookie/
  89. JSON JavaScript cookies: http://www.phpied.com/json-javascript-cookies/
  90. JSON cookies with PHP: http://ryan.ifupdown.com/2009/07/26/json-cookies-with-php/
  91. (Prototype.js) Cookie Jar -- Yummy JSON Cookies: http://www.lalit.org/lab/jsoncookies
  92. Tracking without Cookies: http://www.thespanner.co.uk/2007/07/10/tracking-without-cookies/
  93. JavaScript adding "click" event listener by CSS class: https://stackoverflow.com/questions/21700364/javascript-adding-click-event-listener-to-class
  94. Javascript .querySelector find <div> by innerTEXT: https://stackoverflow.com/questions/37098405/javascript-queryselector-find-div-by-innertext
  95. getElementsByClassName() doesn't work in old Internet Explorers like IE6, IE7, IE8: https://stackoverflow.com/questions/6584635/getelementsbyclassname-doesnt-work-in-old-internet-explorers-like-ie6-ie7-i/25054465#25054465
  96. JavaScript querySelector examples: https://www.javascripttutorial.net/javascript-dom/javascript-queryselector/
  97. JavaScript basics - 2 ways to get child elements with JavaScript: https://mrfrontend.org/2017/10/2-ways-get-child-elements-javascript/
  98. Why does getElementById not work on elements inside the document element?: https://stackoverflow.com/questions/16475636/why-does-getelementbyid-not-work-on-elements-inside-the-document-element
  99. A Bunch of Options for Looping Over querySelectorAll NodeLists: https://css-tricks.com/a-bunch-of-options-for-looping-over-queryselectorall-nodelists/
  100. How to convert a NodeList to an array in JavaScript: https://attacomsian.com/blog/javascript-convert-nodelist-to-array
  101. Remove empty elements from an array in Javascript: https://stackoverflow.com/questions/281264/remove-empty-elements-from-an-array-in-javascript
  102. querySelector and querySelectorAll vs getElementsByClassName and getElementById in JavaScript: https://stackoverflow.com/questions/14377590/queryselector-and-queryselectorall-vs-getelementsbyclassname-and-getelementbyid
  103. W3schools -- JS getAttribute: https://www.w3schools.com/jsref/met_element_getattribute.asp
  104. getAttributes (DOMNode - JavaScript): https://help.hcltechsw.com/dom_designer/beta/12.0.1/reference/r_wpdr_dom6_domnode_getattributes_r.html
  105. Get all Attributes from a HTML element with Javascript/jQuery: https://stackoverflow.com/questions/2048720/get-all-attributes-from-a-html-element-with-javascript-jquery
  106. W3schoools -- another place to put above loadXMLString code snippet: https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_document_getelementsbytagname
  107. W3schools -- View the sample books.xml file: http://www.w3schools.com/DOM/books.xml
  108. W3schools -- AJAX XML Example: https://www.w3schools.com/js/js_ajax_xmlfile.asp
  109. W3schools -- loadXMLString: https://www.w3schools.com/xml/xml_parser.asp
  110. MozDev -- DOM Parser: https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString
  111. W3schools -- loadXMLString: https://w3schools.sinsixx.com/dom/dom_loadxmldoc.asp.htm#table30
  112. XML parsing of a variable string in JavaScript: https://stackoverflow.com/questions/649614/xml-parsing-of-a-variable-string-in-javascript
  113. loadXML method (XMLDocument): http://help.dottoro.com/ljadewkq.php
  114. XML parsing of a variable string in JavaScript: https://www.py4u.net/discuss/273977
  115. Javascript Promises/Q library (SLIDES): https://www.slideshare.net/async_io/javascript-promisesq-library-17206726
  116. Q lib -- examples gallery: https://github.com/kriskowal/q/wiki/Examples-Gallery
  117. Q.js examples: https://gist.github.com/guptag/7205768
  118. Q.js - Using deferred: https://stackoverflow.com/questions/12505850/q-js-using-deferred
  119. How to Use Deferred Objects in JavaScript: https://www.youtube.com/watch?v=dCSrw90yWX8
  120. Access to headers in request-promise get response: https://stackoverflow.com/questions/39234359/access-to-headers-in-request-promise-get-response
  121. Are there still reasons to use promise libraries like Q or BlueBird now that we have ES6 promises?: https://stackoverflow.com/questions/34960886/are-there-still-reasons-to-use-promise-libraries-like-q-or-bluebird-now-that-we
  122. Second Look at Promises using Native ES6 vs. q.js: https://scotthannen.org/blog/2016/03/03/second-look-at-promises-native-es6.html
  123. W3schools -- JS - Promises: https://www.w3schools.com/Js/js_promise.asp
  124. MozDev -- JS -- Promises: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
  125. MozDev -- JS -- Using Promises: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises
  126. JavaScript Promises - A tutorial with examples: https://www.toptal.com/javascript/javascript-promises
  127. Promise chaining example: https://gist.github.com/domenic/2431341
  128. JavaScript Promise explained with examples: https://dotnettutorials.net/lesson/javascript-promise/
  129. Show/Hide solution: http://sonspring.com/journal/show-hide-solution
  130. Traditional Div Show/Hide revised: http://www.scriptygoddess.com/archives/2004/01/06/another-revision-to-the-showhide-script/
  131. Unobtrusive Show/Hide: http://www.bobbyvandersluis.com/articles/unobtrusive_show_hide/index.html
  132. How to hide, show, or toggle your div: http://www.randomsnippets.com/2008/02/12/how-to-hide-and-show-your-div/
  133. Show & Hide Layers: http://www.geocities.com/technofundo/tech/js/showhide.html
  134. JavaScript Source's Show/Hide DIV layers: http://javascriptsource.com/miscellaneous/show-hide-a-div.html
  135. Show/Hide content using DIVs: http://www.webmasterworld.com/forum91/441.htm
  136. jQuery simple show/hide solution: http://jsfiddle.net/cse_tushar/6FzSb/
  137. Check if element is visible in DOM: http://stackoverflow.com/questions/19669786/check-if-element-is-visible-in-dom
  138. jQuery simple show/hide solution + HASH navigation: http://jsfiddle.net/bcmoney/dumLmvn7/ (UPDATED to allow external link-based navigation into DOM items not displayed yet)
  139. JavaScript date validation: http://www.redips.net/javascript/date-validation/
  140. Learn to validate input fields that require numeric (check negative, positive, decimal) or money values using Javascript: http://www.erobosoftware.com/scripts/javascript/scripts_code.php?id=22&section=Javascript&division=Forms
  141. FULL Browser & OS detection (in JS and/or PHP): http://techpatterns.com/downloads/javascript_browser_detection.php
  142. Operating System through navigator object: http://www.javascripter.net/faq/operatin.htm
  143. Apple on Object Detection: http://developer.apple.com/internet/webcontent/objectdetection.html
  144. Beginner's Guide to Node.JS: http://nodeguide.com/beginner.html
  145. A Quickstart for Node.JS: http://www.ixxus.com/blog201209quick-start-nodejs/
  146. Node.js overview for Java Developers: https://dzone.com/articles/what-is-nodejs-for-java-developers
  147. How to Implement Node + React Isomorphic JavaScript & Why it Matters : https://strongloop.com/strongblog/node-js-react-isomorphic-javascript-why-it-matters/
  148. Node.js and the new web front-end: http://www.nczonline.net/blog/2013/10/07/node-js-and-the-new-web-front-end/
  149. Node.js is genuinely exciting: http://blog.simonwillison.net/post/57956855516/node
  150. Node.JS - IRC client example from Ryan Dahl's original NodeJS demo/talk: https://gist.github.com/ry/a3d0bbbff196af633995
  151. JSConf EU 2018 -- Ryan Dahl - 10 Things I Regret About Node.js: https://www.youtube.com/watch?v=M3BM9TB-8yA
  152. Ryan Dahl’s Node.js regrets lead to Deno project: https://www.infoworld.com/article/3283250/node-js/ryan-dahls-nodejs-regrets-lead-to-deno.html
  153. "Intro to Node.JS" talk - by founder Ryan Dahl (2009): http://s3.amazonaws.com/four.livejournal/20091117/jsconf.pdf
  154. An Introduction to Node.js (Part 1): https://dzone.com/articles/introduction-to-nodejs-3
  155. An Introduction to Node.js (Part 2): https://dzone.com/articles/an-introduction-to-nodejs-part-2
  156. How to use NodeJS without frameworks and external libraries: https://hackernoon.com/how-to-use-nodejs-without-frameworks-and-external-libraries-97eb6acac9e3
  157. Nodejs C++/JS Boundary: Crossing The Rubicon: https://blog.bitsrc.io/nodejs-c-js-boundary-crossing-the-rubicon-c9c5511907a2
  158. Introduction to Glitch for Node.js Apps in the Cloud: https://blog.bitsrc.io/introduction-to-glitch-for-node-js-apps-in-the-cloud-cd263de5683f
  159. How to get the current directory in Node.js: https://attacomsian.com/blog/nodejs-get-current-directory
  160. Streaming File Uploads with Node.js: http://debuggable.com/posts/streaming-file-uploads-with-node-js:4ac094b2-b6c8-4a7f-bd07-28accbdd56cb
  161. OWASP Node Goat Project: https://owasp.org/www-project-node.js-goat/ | DEMO | SRC (intentionally vulnerable NodeJS sample app, for use in "NodeJS Penetration Testing training" and/or Developer education on common issues and remediation, as well as Red/Blue/Purple Team activities)
  162. How to change Node.js's console font color?: https://stackoverflow.com/questions/9781218/how-to-change-node-jss-console-font-color (without introducing a dependency and getting hacked like with NPM colors | SRC)
  163. Open source maintainer pulls the plug on npm packages colors and faker, now what?: https://snyk.io/blog/open-source-npm-packages-colors-faker/
  164. Dev corrupts NPM libs 'colors' and 'faker' breaking thousands of apps: https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/
  165. Node.js Server-Side JavaScript Injection Detection & Exploitation: https://blog.gdssecurity.com/labs/2015/4/15/nodejs-server-side-javascript-injection-detection-exploitati.html
  166. Hacking NodeJS & MongoDB: https://blog.websecurify.com/2014/08/hacking-nodejs-and-mongodb.html
  167. Nodejs Security - Command Injection: https://hackernoon.com/nodejs-security-issue-javascript-node-example-tutorial-vulnerabilities-hack-line-url-command-injection-412011924d1b
  168. Exploiting WebSocket (Application Wide XSS / CSRF): https://medium.com/@osamaavvan/exploiting-websocket-application-wide-xss-csrf-66e9e2ac8dfa
  169. Bypassing a restrictive JS sandbox: https://licenciaparahackear.github.io/en/posts/bypassing-a-restrictive-js-sandbox/
  170. Node-gyp lib: https://www.npmjs.com/package/node-gyp
  171. Node-gyp. MSBuild.exe` failed with exit code: 1: https://stackoverflow.com/questions/46225835/node-gyp-msbuild-exe-failed-with-exit-code-1
  172. Updating npm when using nvm-windows: https://teknotopnews.com/otomotif-https-stackoverflow.com/questions/54652381/updating-npm-when-using-nvm-windows
  173. Node.js is Cancer (or a scalability disaster waiting to happen): http://web.archive.org/web/20120104233829/http://teddziuba.com/2011/10/node-js-is-cancer.html
  174. Node.js -- Doctor’s Offices .vs. Fast Food Restaurants – Understanding Event-driven Programming: http://code.danyork.com/2011/01/25/node-js-doctors-offices-and-fast-food-restaurants-understanding-event-driven-programming/
  175. How to Interact With a Database Using the Async Module in Node.js: https://dzone.com/articles/how-to-interact-with-a-database-using-the-async-mo
  176. Workaround for Database Bind Issues (Oracle PL/SQL Stored Procedure integration to Node.JS): https://dzone.com/articles/workaround-for-using-node-oracledb-with-a-plsql-ou (must be defined as a function and force to output results as text)
  177. How can I pass a variable while using `require` in node.js?: https://stackoverflow.com/questions/9146980/how-can-i-pass-a-variable-while-using-require-in-node-js
  178. How to detect if script is running in browser or in Node.js?: https://stackoverflow.com/questions/34550890/how-to-detect-if-script-is-running-in-browser-or-in-node-js
  179. Netflix migrating 1/2 of their API to Node.js: https://www.reddit.com/r/node/comments/8i8jzq/netflix_migrating_12_of_their_api_to_nodejs/
  180. The definitive Node.js handbook: https://medium.freecodecamp.org/the-definitive-node-js-handbook-6912378afc6e
  181. How do I debug Node.js applications?: https://stackoverflow.com/questions/1911015/how-do-i-debug-node-js-applications
  182. Requiring modules in Node.js -- Everything you need to know: https://medium.freecodecamp.org/requiring-modules-in-node-js-everything-you-need-to-know-e7fbd119be8
  183. ncp - Asynchronous recursive file & directory copying: https://www.npmjs.com/package/ncp
  184. node.js ncp | fs.readdir | missing files | use of callback: https://stackoverflow.com/questions/50020179/node-js-ncp-fs-readdir-missing-files-use-of-callback
  185. Check synchronously if file/directory exists in Node.js: https://stackoverflow.com/questions/4482686/check-synchronously-if-file-directory-exists-in-node-js
  186. Fixing npm permissions: https://github.com/mixonic/docs.npmjs.com/blob/master/content/getting-started/fixing-npm-permissions.md
  187. Update Now! Node.js version 8.x is Not Supported from 2020: https://blog.risingstack.com/update-nodejs-8-end-of-life-no-support/
  188. HOW TO CLEAN UP YOUR JAVASCRIPT BUILD WITH TREE SHAKING: https://web.archive.org/web/20190731133056/https://www.engineyard.com/blog/tree-shaking
  189. Minification is not enough, you need tree shaking: http://blog.sethladd.com/2013/01/minification-is-not-enough-you-need.html
  190. Tree-shaking versus dead code elimination: https://medium.com/@Rich_Harris/tree-shaking-versus-dead-code-elimination-d3765df85c80
  191. Failed to exec start script - EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:279:16): https://stackoverflow.com/questions/49446277/failed-to-exec-start-script-eventemitter-anonymous-usr-local-lib-node-modu
  192. How one developer just broke Node, Babel and thousands of projects in 11 lines of JavaScript: https://www.theregister.com/2016/03/23/npm_left_pad_chaos/
  193. Local Lambda development challenges (with NodeJS): https://advancedweb.hu/lambda-development-toolbox-set-environment-variables-locally/
  194. Meta Open Source to donate Jest to the OpenJS Foundation: https://sdtimes.com/softwaredev/meta-open-source-to-donate-jest-to-the-openjs-foundation/
  195. Node.js Unit Testing (with JEST) get started quickly with examples: https://www.testim.io/blog/node-js-unit-testing-get-started-quickly-with-examples/
  196. Trying ES6 style import gives 'Cannot use import statement outside a module': https://stackoverflow.com/questions/59042716/trying-es6-style-import-gives-cannot-use-import-statement-outside-a-module
  197. Mocha + TypeScript: Cannot use import statement outside a module Code Answer: https://www.tutorialguruji.com/node-js/mocha-typescript-cannot-use-import-statement-outside-a-module/
  198. Node.js -- "SyntaxError: Cannot use import statement outside a module": https://stackoverflow.com/questions/62488898/node-js-syntaxerror-cannot-use-import-statement-outside-a-module
  199. Mocha + TypeScript -- Cannot use import statement outside a module: https://stackoverflow.com/questions/60993812/mocha-typescript-cannot-use-import-statement-outside-a-module
  200. error 'env' is not recognized as an internal or external command?: https://stackoverflow.com/questions/41254781/error-env-is-not-recognized-as-an-internal-or-external-command
  201. Writing unit tests in TypeScript: https://chiragrupani.medium.com/writing-unit-tests-in-typescript-d4719b8a0a40
  202. I See Deno in Your Future: https://www.bitquabit.com/post/i-see-deno-in-your-future/
  203. npm install vs sudo npm install -g: https://stackoverflow.com/questions/20264157/npm-install-vs-sudo-npm-install-g
  204. Fixing intermittant 'EPERM: operation not permitted' on npm install: https://alastaircrabtree.com/fixing-intermittant-eperm-operation-not-permitted-on-npm-install/
  205. npm ERR! Error -- EPERM - operation not permitted, rename: https://stackoverflow.com/questions/39293636/npm-err-error-eperm-operation-not-permitted-rename
  206. Snyk - NodeJS dependency security analysis tool: https://snyk.io/
  207. yarn vs npm -- Everything You Need to Know: https://www.sitepoint.com/yarn-vs-npm/
  208. An Absolute Beginner's Guide to Using npm: https://dzone.com/articles/an-absolute-beginners-guide-to-using-npm-1
  209. Upload Files Or Images To Server Using Node.js: http://dzone.com/articles/upload-files-or-images-to-server-using-nodejs
  210. Using Resources from npm on CodePen: https://blog.codepen.io/2017/08/11/using-resources-npm-codepen/
  211. How to setup Node.js & NPM behind a corporate web proxy: https://jjasonclark.com/how-to-setup-node-behind-web-proxy/
  212. NPM Behind A Proxy Server: https://forum.freecodecamp.org/t/npm-behind-a-proxy-server/19386
  213. Set and reset proxy for git and npm connection : http://jonathanblog2000.blogspot.com/2013/11/set-and-reset-proxy-for-git-and-npm.html
  214. How to clear https proxy setting of NPM?: https://stackoverflow.com/questions/21228995/how-to-clear-https-proxy-setting-of-npm
  215. How to use NPM Install (The Command) behind Corporate Proxy Server: https://www.c-sharpcorner.com/article/how-to-use-npm-install-the-command-behind-corporate-proxy-server/
  216. Fix the infamous "npm ERR cb() never called" error: https://stackoverflow.com/questions/15393821/npm-err-cb-never-called
  217. Node error npm ERR! cb() never called: https://stackoverflow.com/questions/49744843/node-error-npm-err-cb-never-called
  218. STARTING NODE FOREVER SCRIPTS AT BOOT W/ CENTOS: http://blog.aronduby.com/starting-node-forever-scripts-at-boot-w-centos/
  219. You don’t know Node: https://medium.com/@samerbuna/you-dont-know-node-6515a658a1ed
  220. How we make npm packages work in the browser: https://hackernoon.com/how-we-make-npm-packages-work-in-the-browser-announcing-the-new-packager-6ce16aa4cee6
  221. Introducing the npm semantic version calculator: https://blog.npmjs.org/post/115305091285/introducing-the-npm-semantic-version-calculator
  222. Everything You Wanted To Know About “package-lock.json” But Were Too Afraid To Ask: https://medium.com/coinmonks/everything-you-wanted-to-know-about-package-lock-json-b81911aa8ab8
  223. Why npm Scripts?: https://css-tricks.com/why-npm-scripts/
  224. Why I Left Gulp and Grunt for npm Scripts: https://medium.freecodecamp.org/why-i-left-gulp-and-grunt-for-npm-scripts-3d6853dd22b8
  225. Task automation with npm run -- using the scripts field: https://web.archive.org/web/20131121035826/https://substack.net/task_automation_with_npm_run
  226. Advanced front-end automation with npm scripts: https://www.youtube.com/watch?v=0RYETb9YVrk
  227. How to Use npm as a Task Runner: blog.teamtreehouse.com/use-npm-task-runner
  228. How I automated my job with Node.js: https://medium.com/dailyjs/how-i-automated-my-job-with-node-js-94bf4e423017
  229. Automated Tests in Node.js: https://www.davidbaumgold.com/tutorials/automated-tests-node/
  230. Advanced Unit Testing Tools For Node.Js: http://blog.wercker.com/advanced-unit-testing-tools-for-node-js
  231. NPM -- source-map-explorer: https://www.npmjs.com/package/source-map-explorer (analyze & debug JavaScript/Sass/LESS code bloat through source maps)
  232. "npm-run-all" tool: https://github.com/mysticatea/npm-run-all (A CLI tool to run multiple npm-scripts in parallel or sequential)
  233. npm’s 2019 JavaScript Ecosystem Survey Shows 63% of Respondents are Using React: https://wptavern.com/npms-2019-javascript-ecosystem-survey-shows-63-of-respondents-are-using-react
  234. 13 npm Tricks for Faster JavaScript Development: https://medium.com/@bretcameron/13-npm-tricks-for-faster-javascript-development-4fe2a83f87a2
  235. Adding a Dynamic Calendar to HarpJS: http://java.dzone.com/articles/adding-dynamic-calendar-harpjs
  236. Testing Modular Front-end in JS: https://frontendmasters.com/courses/testing-modular-front-end/
  237. Using Mocha JS, Chai JS and Sinon JS to Test your Frontend JavaScript Code: https://blog.codeship.com/mocha-js-chai-sinon-frontend-javascript-code-testing-tutorial/
  238. Automating MochaJS Tests for a Node.js App: https://www.distelli.com/docs/tutorials/automated-mocha-tests-for-node/
  239. Testing Node.js With Mocha and Chai: http://mherman.org/blog/2015/09/10/testing-node-js-with-mocha-and-chai/
  240. Unit Test Your JavaScript Using Mocha and Chai: https://www.sitepoint.com/unit-test-javascript-mocha-chai/
  241. Is Node.js overrated?: https://www.quora.com/Is-Node-js-overrated
  242. NPM vs. Bower vs. Browserify vs. Gulp vs. Grunt vs. Webpack: https://stackoverflow.com/questions/35062852/npm-vs-bower-vs-browserify-vs-gulp-vs-grunt-vs-webpack
  243. Gulp vs Grunt vs Webpack: Comparison of (Node.JS) Build Tools & Task Runners: https://da-14.com/blog/gulp-vs-grunt-vs-webpack-comparison-build-tools-task-runners
  244. Here’s how you can actually use Node environment variables: https://medium.freecodecamp.org/heres-how-you-can-actually-use-node-environment-variables-8fdf98f53a0a
  245. How one developer just broke Node, Babel and thousands of projects in 11 lines of JavaScript: https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/
  246. Monorepos Made Easier with Bit & NPM: https://blog.bitsrc.io/monorepo-architecture-simplified-with-bit-and-npm-b1354be62870
  247. React.JS, Bit & NPM -- Movie App: https://github.com/teambit/movie-app (sample React.JS application deconstructed to Bit components, to be a shared-library)
  248. Node.js Open Source of the Month (v.June 2018): https://medium.mybridge.co/node-js-open-source-of-the-month-v-june-2018-df256be9dac5
  249. How do I determine the current operating system with Node.js: https://stackoverflow.com/questions/8683895/how-do-i-determine-the-current-operating-system-with-node-js
  250. How to install and run lessc on top of node.js and Windows?: https://stackoverflow.com/questions/16492940/how-to-install-and-run-lessc-on-top-of-node-js-and-windows
  251. Global npm install location on windows?: https://stackoverflow.com/questions/33819757/global-npm-install-location-on-windows
  252. 5 Typical Responses From Oracle JET's Unofficial World Tour: https://blogs.oracle.com/geertjan/five-typical-responses-from-oracle-jets-unofficial-world-tour
  253. You don't (may not) need Lodash/Underscore: https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore
  254. Differences between Lodash and Underscore.js: https://stackoverflow.com/questions/13789618/differences-between-lodash-and-underscore-js
  255. 10 Lodash Features You Can Replace with ES6: https://www.sitepoint.com/lodash-features-replace-es6/
  256. You might not need lodash (in your ES2015+ project): https://xebia.com/blog/you-might-not-need-lodash-in-your-es2015-project/
  257. Why You shouldn’t use lodash anymore and use pure JavaScript instead: https://codeburst.io/why-you-shouldnt-use-lodash-anymore-and-use-pure-javascript-instead-c397df51a66
  258. Pure JavaScript Functions as a Replacement for Lodash: https://blog.bitsrc.io/you-dont-need-lodash-or-how-i-started-loving-javascript-functions-3f45791fa6cd
  259. You Might Not Need Lodash: https://dev.to/antjanus/you-might-not-need-lodash--khj
  260. Redux, normalised entities and lodash merge: https://stackoverflow.com/questions/41872065/redux-normalised-entities-and-lodash-merge
  261. What is the best JS templating framework?: http://www.quora.com/JavaScript/What-is-the-best-JavaScript-templating-framework-and-why
  262. JS micro-templating: http://ejohn.org/blog/javascript-micro-templating/
  263. wikipedia: AngularJS
  264. Angular vs React vs Vue — Getting Started: https://dzone.com/articles/angular-vs-react-vs-vue-getting-started
  265. Five Common Angular Mistakes: http://java.dzone.com/articles/five-common-angular-mistakes
  266. I'm Not Mocking (literally, as in "making fun of" not "Mock test" or "Mock-up") You, Just Your AngularJS Tests: http://java.dzone.com/articles/im-not-mocking-you-just-your (a suggestions for better way to create interface/wrapper around external REST services in AngularJS)
  267. Learn Angular JS -- Getting Started: http://www.creativedev.in/2015/06/learn-angular-js-getting-started/
  268. How to Share Data Between Controllers in AngularJS : http://java.dzone.com/articles/how-share-data-between
  269. Dependency Injection in Angular 1 .vs. Angular 2: http://dzone.com/articles/dependency-injection-in-angular-1-vs-angular-2
  270. How AngularJS Communicates With Web Services: http://dzone.com/articles/how-angularjs-communicates-with-web-services
  271. Serverless REST API with Angular, Persistence and Security: http://dzone.com/articles/serverless-rest-api-with-angular-persistence-and-s
  272. Developing a Web Application Using Angular (5-part series): https://dzone.com/articles/developing-a-web-application-using-angular
  273. Angular -- Effective Component Patterns - Sharing data between components: https://itnext.io/angular-effective-component-patterns-f5f7f08e2072
  274. IONIC IDENTITY VAULT: https://cdn2.hubspot.net/hubfs/3776657/Identity%20Vault%20Factsheet.pdf
  275. Announcing Ionic Portals: https://ionicframework.com/blog/announcing-ionic-portals/
  276. Awesome Ionic: https://github.com/candelibas/awesome-ionic
  277. Ionic "quick guide": https://www.tutorialspoint.com/ionic/ionic_quick_guide.htm
  278. Improved UX for Ionic apps with Skeleton Loading Screens: https://ionicthemes.com/tutorials/about/improved-ux-for-ionic-apps-with-skeleton-loading-screens
  279. Deploying Capacitor Applications to iOS (Development & Distribution): https://www.joshmorony.com/deploying-capacitor-applications-to-ios-development-distribution/
  280. Ionic & React -- building a "BitCoin price tracker" app: https://www.youtube.com/playlist?list=PLtKjv92L0ihBWO6NtZhXEsR9NXf7Uf_ki
  281. How to make Ionic apps in React Using Capacitor: https://enappd.com/blog/how-to-make-ionic-apps-in-react-using-capacitor/26/
  282. Creating a Dynamic/Adaptable Splash Screen for Capacitor (Android): https://www.joshmorony.com/creating-a-dynamic-universal-splash-screen-for-capacitor-android/
  283. Building an Ionic Firebase Location Tracker with Capacitor & Google Maps: https://devdactic.com/ionic-firebase-location-capacitor/
  284. Ionic 4 Angular 7 Demo of routable transitions with a travel app: https://github.com/sean-perkins/ionic-route-animation-demo
  285. Ionic 4 -- Autoplay "in-app" videos on scroll: https://medium.com/@JordanBenge/ionic-4-autoplay-videos-on-scroll-6eb00213cdb4
  286. Announcing "Ionic React": https://ionicframework.com/blog/announcing-ionic-react/
  287. React Native vs.Flutter vs. Ionic (Cordova version) -- Which is Challenging Platform for Your App: https://hackernoon.com/react-native-vsflutter-vs-ionic-which-is-challenging-platform-for-your-app-623qp3yqm
  288. Ionic (Cordova version) vs. React Native -- A Comparison Guide: https://ionicframework.com/resources/articles/ionic-vs-react-native-a-comparison-guide
  289. React Native vs. Ionic (Cordova version) explained -- A Step-by-Step Evaluation: https://codeburst.io/react-native-vs-ionic-explained-a-step-by-step-evaluation-23975999887
  290. Which Is Better For My Startup - Ionic (Cordova version) or React Native?: https://expertise.jetruby.com/which-is-better-for-my-startup-ionic-or-react-native-474551b6a7dc
  291. React Native vs. Ionic (Cordova version) – Which Hybrid App Development Framework Should You Pick?: https://ideamotive.co/blog/react-native-vs-ionic/
  292. StarBlitz: https://ionic-react-demo.stackblitz.io/app/ (lightweight Ionic-ReactNative/Capacitor demo showing basic image grid and simulating playing music)
  293. StarTrack: https://github.com/mhartington/StarTrack-react | DEMO (full reference implementation of Ionic-ReactNative/Capacitor to build a cross-platform Music app that actually integrates to Apple's iTunes APIs)
  294. Ionic basic components reference app: https://github.com/sunzhongshan1988/ionic-reference-app | DEMO
  295. Ionic Angular Conference Application: https://github.com/ionic-team/ionic-conference-app
  296. Announcing the (new) Ionic Vue Beta: https://ionicframework.com/blog/announcing-the-new-ionic-vue-beta/
  297. Announcing Ionic Vue (finalized): https://ionicframework.com/blog/announcing-ionic-vue/
  298. Announcing Ionic Secure Storage: Secure, reliable high-performance data access: https://ionicframework.com/blog/announcing-ionic-secure-storage-secure-reliable-high-performance-data-access/
  299. New early access program for extending native apps with the web: https://blog.ionicframework.com/new-early-access-program-for-extending-native-apps-with-the-web/
  300. Ionic Payments -- Build secure, cross-platform payment experiences: https://ionic.io/resources/webinars/ionic-payments-secure-cross-platform-payment-experiences | SRC | SLIDES | DOCS
  301. Ionic Portals -- Introducing the supercharged WebView for Native Apps: https://ionicframework.com/blog/ionic-portals-web-view/
  302. Backbone.js -- Getting Started: https://dzone.com/articles/backbonejs-getting-started (JS library that provides models with key-value bindings and custom events, views with declarative event handling, and collections with an API)
  303. KnockoutJS - Quick Guide: https://www.tutorialspoint.com/knockoutjs/knockoutjs_quick_guide.htm
  304. Knockout JS docs -- intro & benefits: https://knockoutjs.com/documentation/introduction.html
  305. Knockout JS docs -- Observables: https://knockoutjs.com/documentation/observables.html
  306. Knockout JS docs -- Computed Observables: https://knockoutjs.com/documentation/computedObservables.html
  307. Knockout JS docs -- The data-bind syntax: https://knockoutjs.com/documentation/binding-syntax.html
  308. Knockout JS docs -- The "attr" binding: https://knockoutjs.com/documentation/attr-binding.html
  309. Knockout JS docs -- The "value" binding: https://knockoutjs.com/documentation/value-binding.html
  310. Knockout JS docs -- The "if" & "ifnot" bindings: https://knockoutjs.com/documentation/if-binding.html
  311. Knockout JS docs -- The "event" binding: https://knockoutjs.com/documentation/event-binding.html
  312. Knockout JS docs -- The "submit" binding: https://knockoutjs.com/documentation/submit-binding.html
  313. Knockout JS docs -- The "selectedOptions" binding: https://knockoutjs.com/documentation/selectedOptions-binding.html
  314. KnockoutJS - Options Binding: https://www.tutorialspoint.com/knockoutjs/options-binding.htm
  315. Another Look at Custom Bindings for KnockoutJS: http://www.knockmeout.net/2011/07/another-look-at-custom-bindings-for.html
  316. (Knockout.JS) Call a function on enter key press: https://stackoverflow.com/questions/23087721/call-a-function-on-enter-key-press
  317. How can I get Knockout JS to data-bind on keypress instead of lost-focus?: https://stackoverflow.com/questions/4386311/how-can-i-get-knockout-js-to-data-bind-on-keypress-instead-of-lost-focus
  318. Is there a way to avoid that the submit binding of knockoutjs sends the form when pressing the enter key?: https://stackoverflow.com/questions/10285154/is-there-a-way-to-avoid-that-the-submit-binding-of-knockoutjs-sends-the-form-whe
  319. Knockout observable latest value: https://stackoverflow.com/questions/20746853/knockout-observable-latest-value
  320. Change event on select with knockout binding, how can I know if it is a real change?: https://stackoverflow.com/questions/11078016/change-event-on-select-with-knockout-binding-how-can-i-know-if-it-is-a-real-cha
  321. onChange event in select with knockout: https://stackoverflow.com/questions/43157905/on-change-event-in-select-with-knockout
  322. Knockout.js for data binding in HTML and JavaScript: https://sanderrossel.com/knockout-js-for-data-binding-in-html-and-javascript/
  323. Simplifying and Cleaning Up Views in KnockoutJS: http://www.knockmeout.net/2011/08/simplifying-and-cleaning-up-views-in.html
  324. KnockoutJS binding when source is null/undefined: https://stackoverflow.com/questions/11387501/knockoutjs-binding-when-source-is-null-undefined
  325. Creating Clickable Menu List Using Knockoutjs in ASP.Net Application: https://www.c-sharpcorner.com/UploadFile/cd7c2e/creating-clickable-menu-list-using-knockoutjs-in-Asp-Net-app/
  326. Make inner HTML of list items clickable in knockoutjs: https://stackoverflow.com/questions/44535160/make-inner-html-of-list-items-clickable-in-knockoutjs
  327. Vue.JS -- 2.x: DOCS v2 | EXAMPLES v2
  328. Flavio Copes - The Vue.js Cheat Sheet: https://flaviocopes.com/vue-cheat-sheet/
  329. VueJS - Quick Guide: https://www.tutorialspoint.com/vuejs/vuejs_quick_guide.htm
  330. Vue mastery -- E-Learning course - free cheat sheets: https://www.vuemastery.com/vue-cheat-sheet/
  331. ThisDot -- E-Learning course - VUE.js 101/201/Testing: https://labs.thisdot.co/trainings?filter=Vue
  332. VUE.js course: https://vuecourse.com/preview/1/2-vue-cli/
  333. 1 Hour to Learn Vue - JavaScript Marathon: https://www.youtube.com/watch?v=XItC-JBL3kw | SRC
  334. How To Install and Setup Vue.js – A Beginner’s Guide: https://www.thetechieshouse.com/how-to-install-and-setup-vue-js/
  335. Vue 3.x installation: https://v3.vuejs.org/guide/installation.html
  336. Vue 3.x -- TypeScript Support: https://v3.vuejs.org/guide/typescript-support.html#typescript-support
  337. Vue.js quick start if you’re not a frontend developer: https://tryingthings.wordpress.com/2020/06/21/vue-js-if-youre-not-a-frontend-developer/
  338. A bird’s eye Vue - how to get started with Vue.js: https://jstutorial.medium.com/a-birds-eye-vue-how-to-get-started-with-vue-js-dd1b82795908
  339. 7 Ways To Define A Component Template in VueJS: https://medium.com/js-dojo/7-ways-to-define-a-component-template-in-vuejs-c04e0c72900d
  340. VueJS examples: https://vuejsexamples.com/
  341. Awesome VueJS examples: https://awesome-vue.js.org/resources/examples.html
  342. Gallery of WebApps made with VueJS: https://madewithvuejs.com/
  343. 15+ Cool VueJS Examples and Templates: https://www.creative-tim.com/blog/web-design/vuejs-examples/
  344. Vue.js examples: https://vuejsexamples.net/examples/
  345. Vuejs Form Example: https://vegibit.com/vuejs-form-example/
  346. Vue.js Example Apps - A set of example applications using Vue.js: https://github.com/vuejs-example-apps
  347. Intro to Vue.js Components with examples: https://reactgo.com/vuejs-components-tutorial/
  348. Vue.js - the good, the meh, and the ugly: https://medium.com/@Pier/vue-js-the-good-the-meh-and-the-ugly-82800bbe6684
  349. 21 Top Vue.js UI Libraries For Your App: https://hackernoon.com/21-top-vue-js-ui-libraries-for-your-app-4556e5a9060e
  350. How To Use Watchers in Vue: https://dzone.com/articles/how-to-use-watchers-in-vue
  351. The growth of Vue.js is phenomenal: https://medium.com/@amsterdamjs/fatih-acet-the-growth-of-vue-js-is-phenomenal-5875337c1f6
  352. State of VueJS 2018 | Vue.js Amsterdam Conference: https://www.youtube.com/watch?v=TRJMT9yjONQ
  353. The Brief Lifespan of a JavaScript Framework: https://www.infoq.com/news/2018/01/javascript-lifespan-limited
  354. Has Vue passed React?: https://hasvuepassedreactyet.surge.sh/
  355. Vue JS vs React - Pros & Cons: https://www.sencha.com/blog/vue-js-vs-react-pros-and-cons/
  356. Github Stars !== Usage: React is still blowing Vue and Angular Away: https://zendev.com/2018/06/19/react-usage-beating-vue-angular.html
  357. React.js vs. Vue.js -- A Comparison of Popular JS Frameworks: https://dzone.com/articles/reactjs-vs-vuejs-comparison-of-popular-frameworks
  358. Vue.js Is Good, But Is It Better Than Angular Or React?: https://www.valuecoders.com/blog/technology-and-apps/vue-js-comparison-angular-react/
  359. ReactJS vs Angular5 vs Vue.js — What to choose in 2018?: https://medium.com/@TechMagic/reactjs-vs-angular5-vs-vue-js-what-to-choose-in-2018-b91e028fa91d
  360. Hit The Ground Running With Vue.js & Firestore: https://medium.com/@smashingmag/hit-the-ground-running-with-vue-js-and-firestore-8b45d6a9fa0b
  361. VueJS starter: https://repl.it/@templates/VueJS-Starter
  362. Vue.js 101 "ToDo app" PWA tutorial: https://medium.com/@vince_umo_34593/vue-js-101-todo-pwa-tutorial-ea96eb4e64b1
  363. React.js .vs. Vue.js -- TODO app - with PWA features: https://github.com/nico-martin/todo-pwa
  364. MongoDB + Express + Vue.js via Node.js (MEVN) stack -- example CRUD Application: https://bezkoder.com/vue-node-express--mevn-crud/
  365. Firebase for user authentication in Vue.js: https://labs.thisdot.co/blog/firebase-for-user-authentication-in-vue-js
  366. VueJS -- Components with no content should be self-closing in single-file components, string templates, and JSX - but never in DOM templates: https://vuejs.org/v2/style-guide/#Self-closing-components-strongly-recommended
  367. Anyway, here’s how to make AJAX & API calls with Vue JS: https://itnext.io/anyway-heres-how-to-do-ajax-api-calls-with-vue-js-e71e57d5cf12
  368. Using Axios to Consume APIs with VueJS: https://vuejs.org/v2/cookbook/using-axios-to-consume-apis.html
  369. Vue "axios" AJAX lib -- API call example: https://codepen.io/_elletownsend/pen/RwNzwxQ
  370. How To Use an API with Vue.js: https://rapidapi.com/blog/how-to-use-an-api-with-vue-js/
  371. Unit .vs. E2E Testing for Vue.js: https://dzone.com/articles/unit-vs-e2e-testing-for-vuejs
  372. What's New in Vue (3.x)?: https://dzone.com/articles/whats-new-in-vue (Composition API following "setup" & "use"-prefixed functions rather than standard "data-computed-methods" syntax)
  373. Vue 3.0 brings more speed, more TypeScript: https://www.infoworld.com/article/3562408/vue-30-brings-more-speed-more-typescript.html
  374. Vue.js Tutorial - Move from Vue 2 to 3 by building a Tesla Battery Range Calculator: https://dzone.com/articles/build-a-tesla-battery-range-calculator-yourself-it
  375. 7 Common Vue.js Mistakes You Should Never Make: https://dzone.com/articles/7-common-vuejs-mistakes-you-should-never-make
  376. Vue Jukebox: https://github.com/mimicmobile/vue-jukebox (example Vue 2.x components to build a playlist/media-player)
  377. ES6 features you can use with Vue now: https://www.vuemastery.com/blog/es6-features-you-can-use-with-vue-now/
  378. A bird’s eye Vue - how to get started with Vue.js: https://jstutorial.medium.com/a-birds-eye-vue-how-to-get-started-with-vue-js-dd1b82795908
  379. Vue Class Component: https://class-component.vuejs.org
  380. Why I use vue-class-component: https://medium.com/haiiro-io/why-i-use-vue-class-component-472579a266b4
  381. Node-Sass or Dart-Sass - The CSS Preprocessor Dilemma: https://itnext.io/the-css-preprocessor-dilemma-node-sass-or-dart-sass-32a0a096572
  382. BrowserStack docs -- Test Flutter apps: https://www.browserstack.com/docs/app-automate/appium/test-hybrid-apps/test-flutter-apps?utm_source=newsletter&utm_medium=email&utm_campaign=aa_paid
  383. Vue.js 3 Components Fundamentals : https://vueschool.io/lessons/vue-3-component-template
  384. Vue Mastery (E-LEARNING) -- Vue 3 - Single File Components: https://www.vuemastery.com/courses/real-world-vue3/single-file-components/
  385. Vue Mastery (E-LEARNING) -- Vue 3 - Advanced Components: https://www.vuemastery.com/courses/progressive-web-apps-vue-3/overview-and-setup/
  386. Vue Mastery (E-LEARNING) -- Vue 3 - Component Design Patterns: https://www.vuemastery.com/courses/component-design-patterns/introduction/
  387. Vue Mastery (E-LEARNING) -- Vue 3 - Token-Based Authentication: https://www.vuemastery.com/courses/token-based-authentication/intro-to-authentication/
  388. Vue Mastery (E-LEARNING) -- Vue 3 - Watch Us Build a Trello Clo: https://www.vuemastery.com/courses/watch-us-build-trello-clone/tour-of-the-app/
  389. Vue Mastery (E-LEARNING) -- Vue 3 - Build a Gmail Clone: https://www.vuemastery.com/courses/build-a-gmail-clone-with-vue3/tour-the-project/
  390. Vue Mastery (E-LEARNING) -- Vue 3 - Unit Testing: https://www.vuemastery.com/courses/unit-testing-vue-3/what-to-test-vue-3/
  391. Vue Mastery (E-LEARNING) -- Vue 3 - Real World Testing: https://www.vuemastery.com/courses/real-world-testing/getting-started/
  392. Vue Mastery (E-LEARNING) -- Vue 3 - Deep Dive with (founder) Evan You: https://www.vuemastery.com/courses/vue3-deep-dive-with-evan-you/building-the-reactive-api/
  393. What you can do with Ionic Vue: https://www.vuemastery.com/blog/what-you-can-do-with-ionic-vue/
  394. Learn How To Create, Test and Deploy a Single Page App with Vue 3 + Vite and Pinia (with Nightwatch e2e Testing): https://labs.pineview.io/learn-how-to-build-test-and-deploy-a-single-page-app-with-vue-3-vite-and-pinia/
  395. Building an Apache ECharts Dashboard with Vue 3 & Cube: https://cube.dev/blog/building-an-apache-echarts-dashboard-with-vue-3-and-cube/
  396. Vue 3 Reactivity Composition API Using Reactive() And Ref(): https://dzone.com/articles/vue-3-reactivity-composition-api
  397. Add React to a Website: https://reactjs.org/docs/add-react-to-a-website.html
  398. React.JS -- Handling Events: https://reactjs.org/docs/handling-events.html
  399. React Chrome Developer Tools: https://reactjs.org/blog/2014/01/02/react-chrome-developer-tools.html
  400. Testing "React Components": https://flaviocopes.com/react-testing-components/
  401. ReDedux -- Usage with React.js: http://redux.js.org/docs/basics/UsageWithReact.html
  402. Getting Started with Redux: https://egghead.io/courses/getting-started-with-redux
  403. How Does Redux Work?: https://blog.usejournal.com/how-does-redux-work-b1cce46d4fa6
  404. How I Build JavaScript Apps In 2021: https://timdaub.github.io/2021/01/16/web-principles/
  405. React tutorials (by Flavio Copes): https://flaviocopes.com/tags/react/
  406. React Lifecycle methods (DIAGRAM): http://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/
  407. Load React and ReactDOM are available over a CDN: https://reactjs.org/docs/cdn-links.html
  408. "react-scripts" load via UNPKG (CDN): https://unpkg.com/browse/react-scripts@3.2.0/
  409. AEM -- React: https://github.com/sinnerschrader/aem-react
  410. AEM -- React.js: https://github.com/sinnerschrader/aem-react-js
  411. React.js + WebComponents: https://reactjs.org/docs/web-components.html
  412. WebComponents -- "custom-elements-es5-adapter.js": https://github.com/webcomponents/webcomponentsjs#custom-elements-es5-adapterjs
  413. React - A basic introduction: https://blog.usejournal.com/react-a-basic-introduction-b6ecbca0f550
  414. These are the concepts you should know in React.js (after you learn the basics): https://medium.com/free-code-camp/these-are-the-concepts-you-should-know-in-react-js-after-you-learn-the-basics-ee1d2f4b8030
  415. Most Popular JavaScript Frameworks 2015 – 2016: http://www.improgrammer.net/most-popular-javascript-frameworks-2015/
  416. Hottest freelance skills -- React.js secures Top 5 spot, AngularJS ousted from Top 10 list: https://jaxenter.com/freelance-skills-reactjs-angularjs-138720.html
  417. Removing User Interface Complexity, or Why React is Awesome: http://jlongster.com/Removing-User-Interface-Complexity,-or-Why-React-is-Awesome
  418. What's so great about React.js?: https://www.reddit.com/r/javascript/comments/2uvz0x/whats_so_great_about_reactjs/
  419. React.js vs traditional MVC (Backbone, Angular): http://www.code-experience.com/react-js-vs-traditional-mvc-backbone-ember-angular/
  420. What If React Was Really Only The V in MVC?: https://medium.com/javascript-inside/what-if-react-was-really-only-the-v-in-mvc-5854fd6f601c
  421. Understanding MVC Architecture with React: https://medium.com/of-all-things-tech-progress/understanding-mvc-architecture-with-react-6cd38e91fefd
  422. Knockout.JS .vs. Vue.JS -- To Do List (DEMOS): https://gist.github.com/chrisvfritz/9e5f2d6826af00fcbace7be8f6dccb89
  423. Top 10 React Libraries on GitHub: https://hackernoon.com/top-10-react-libraries-on-github-ebf730e7ac25
  424. 21 React Example Projects to Learn From (Open-source, Beginner to Intermediate Level): https://dev.to/syakirurahman/21-react-example-projects-to-learn-from-open-source-beginner-intermediate-level-2e6o
  425. If you’re a startup, you should not use React (reflecting on the BSD + patents license): https://medium.com/@raulk/if-youre-a-startup-you-should-not-use-react-reflecting-on-the-bsd-patents-license-b049d4a67dd2
  426. The React Story -- How Facebook's Instagram Acquisition Led To The Open Sourcing of "React.js": https://stackshare.io/posts/the-react-story
  427. Top JavaScript Libraries & Tech to Learn in 2018: https://medium.com/javascript-scene/top-javascript-libraries-tech-to-learn-in-2018-c38028e028e6
  428. Create a Basic Like Button in React: https://medium.com/@elle.westervelt/create-a-basic-like-button-in-react-5274a6991385
  429. React - How to pass HTML tags in props?: https://stackoverflow.com/questions/33381029/react-how-to-pass-html-tags-in-props
  430. How to use `React.createElement` children parameter (without jsx): https://stackoverflow.com/questions/30195720/how-to-use-react-createelement-children-parameter-without-jsx
  431. SVG use tag and ReactJS: https://stackoverflow.com/questions/26815738/svg-use-tag-and-reactjs
  432. Testing your React App with Puppeteer and Jest: https://blog.bitsrc.io/testing-your-react-app-with-puppeteer-and-jest-c72b3dfcde59
  433. React, JSX and ES6 -- The Weird Parts: https://ponyfoo.com/articles/react-jsx-and-es6-the-weird-parts
  434. React component patterns: https://medium.com/teamsubchannel/react-component-patterns-e7fb75be7bb0
  435. The best way to bind event handlers in React: https://medium.freecodecamp.org/the-best-way-to-bind-event-handlers-in-react-282db2cf1530
  436. Consuming REST APIs With React.js : https://dzone.com/articles/consuming-rest-api-with-reactjs
  437. How To Fetch Data From an API With React Hooks: https://betterprogramming.pub/how-to-fetch-data-from-an-api-with-react-hooks-9e7202b8afcd
  438. Learn the React Context API with a Practical Example You Can Bring to Your Apps: https://itnext.io/understanding-the-react-context-api-through-building-a-shared-snackbar-for-in-app-notifications-6c199446b80c
  439. Build a Realtime Serverless GraphQL API with Websockets on AWS: https://hackernoon.com/build-a-realtime-serverless-graphql-api-with-websockets-on-aws-d9e553a997
  440. How to build a React.js chat app in 10 minutes: https://medium.freecodecamp.org/how-to-build-a-react-js-chat-app-in-10-minutes-c9233794642b: https://medium.freecodecamp.org/how-to-build-a-react-js-chat-app-in-10-minutes-c9233794642b
  441. Build A Chat App With Sentiment Analysis Using Next.js: https://codeburst.io/build-a-chat-app-with-sentiment-analysis-using-next-js-c43ebf3ea643
  442. 4 Reasons why you should use React Native for your next Mobile App project: http://valentinfoucault.com/2018/08/20/4-reasons-why-you-should-use-react-native-for-your-next-mobile-app-project/
  443. React Hooks: https://reactjs.org/docs/hooks-intro.html
  444. Simplify React Apps with React Hooks: https://egghead.io/courses/simplify-react-apps-with-react-hooks
  445. Why React Hooks, and how did we even get here?: https://medium.com/free-code-camp/why-react-hooks-and-how-did-we-even-get-here-aa5ed5dc96af
  446. React - Timer component: https://codesandbox.io/s/wonderful-ardinghelli-h566b
  447. React -- CSS in JS – NationJS: http://blog.vjeux.com/2014/javascript/react-css-in-js-nationjs.html
  448. Four ways to style React components: https://codeburst.io/4-four-ways-to-style-react-components-ac6f323da822
  449. The unseen performance costs of modern CSS-in-JS libraries in React apps: https://calendar.perfplanet.com/2019/the-unseen-performance-costs-of-css-in-js-in-react-apps/
  450. How to build a reusable animation component using React Hooks: https://www.freecodecamp.org/news/animating-visibility-with-css-an-example-of-react-hooks/
  451. Props vs. State in React JS: https://blog.cloudboost.io/props-vs-state-in-react-js-9c186dcf39b8
  452. How to maintain state after a page refresh in React.js?: https://stackoverflow.com/questions/28314368/how-to-maintain-state-after-a-page-refresh-in-react-js
  453. A different way to manage state in React: https://medium.com/hackernoon/a-different-way-to-manage-state-in-react-2d21dfb94482
  454. React Redux Starter Kit: https://github.com/mikedevita/react-redux-starter-kit-auth-notifications-example (notifications system & authentication)
  455. Adding authentication to your React Flux app: https://auth0.com/blog/adding-authentication-to-your-react-flux-app/
  456. react-redux-universal-hot-example: https://github.com/erikras/react-redux-universal-hot-example (starter boilerplate for a universal webapp using express, react, redux, webpack, and react-transform)
  457. React -- cookies: https://github.com/reactivestack/cookies (load & save cookies within your React application)
  458. React -- persist & rehydrate a redux store: https://github.com/rt2zz/redux-persist
  459. React -- querystring parser with nesting support: https://github.com/ljharb/qs
  460. React -- session history: https://github.com/ReactTraining/history (manage session history with JavaScript)
  461. React -- declarative routing for React: https://reacttraining.com/react-router/
  462. React -- hot loader: http://gaearon.github.io/react-hot-loader/
  463. How to add React to a simple HTML file: https://medium.com/@to_pe/how-to-add-react-to-a-simple-html-file-a11511c0235f
  464. Client on node -- "Uncaught ReferenceError: require is not defined": https://stackoverflow.com/questions/19059580/client-on-node-uncaught-referenceerror-require-is-not-defined
  465. Introduction to React Hooks: https://dev.to/christopherkade/introduction-to-react-hooks-1e0l
  466. How to fetch data with React Hooks?: https://www.robinwieruch.de/react-hooks-fetch-data
  467. 6 Ways to Share React Components in 2020: https://blog.bitsrc.io/6-ways-to-share-and-reuse-react-components-6d80e2fd16cd
  468. How to use css modules in "react.js": https://reactgo.com/react-app-css-modules/
  469. Create React App CLI tool -- Adding a CSS Modules Stylesheet: https://create-react-app.dev/docs/adding-a-css-modules-stylesheet/
  470. Building Reusable React (E-LEARNING COURSE): https://scrimba.com/course/greusablereact
  471. The Love-Hate Relationship between React Router and React Components: https://blog.bitsrc.io/the-love-hate-relationship-between-react-router-and-react-components-dee4aac5956c (and a quick "ScrollToTop" hack for loading other routes from a given non-zero scroll state)
  472. ReactJS roadmap: https://dev.to/theme_selection/reactjs-roadmap-for-developers-2824
  473. ReactJS docs -- Higher-Order Components (HOC): https://reactjs.org/docs/higher-order-components.html
  474. Higher Order Components in a React Hooks World: https://medium.com/@albertchu539/higher-order-components-in-a-react-hooks-world-69fe1f0b0791
  475. 10 Ways to Optimize Your React App’s Performance: https://blog.bitsrc.io/10-ways-to-optimize-your-react-apps-performance-e5e437c9abce
  476. 5 React hooks useful in any project: https://itnext.io/five-react-hooks-useful-in-any-project-44c150f283f8
  477. 20 Essential Parts Of Any Large Scale React App: https://javascript.plainenglish.io/20-essential-parts-of-any-large-scale-react-app-ee4bd35436a0
  478. I Almost Got Fired for Choosing React in Our Enterprise App: https://betterprogramming.pub/i-almost-got-fired-for-choosing-react-in-our-enterprise-app-846ea840841c | VIDEO
  479. Using React in Enterprise Context: https://www.digitalprimates.net/blog/using-react-in-enterprise-contexts-codeitlive/ | VIDEO #1 | VIDEO #2
  480. Simply JavaScript -- Testing in JS - straightforward intro to Mocking, Stubbing, and Interfaces: https://medium.com/free-code-camp/simply-javascript-a-straightforward-intro-to-mocking-stubbing-and-interfaces-14e67ed6641a
  481. How writing tests can make you a faster and more productive developer: https://medium.com/free-code-camp/how-writing-tests-can-make-you-a-faster-and-more-productive-developer-f3ad978e3872
  482. React costs companies a lot of money: https://poub330.medium.com/react-costs-companies-a-lot-of-money-6bfa3e5cc6f4
  483. Finally a better React.JS folder structure: https://medium.com/@kumarvinoth/finally-a-better-react-js-folder-structure-821a2210835%7C SRC
  484. Cleaner way to write conditionals in JSX: https://tech.trell.co/cleaner-way-to-write-conditionals-in-jsx-b13fb60b5792
  485. How to use SWR: https://flaviocopes.com/swr/
  486. How to conditionally load data with SWR: https://flaviocopes.com/swr-conditionally-load-data/
  487. Microsoft launches React Native for Windows: https://techcrunch.com/2019/05/06/microsoft-launches-react-native-for-windows/
  488. Expo SDK v32.0.0 is now available: https://blog.expo.io/expo-sdk-v32-0-0-is-now-available-6b78f92a6c52
  489. BuilderX -- ReactNative Design IDE: https://builderx.io/
  490. React Native -- How to Setup Your First App: https://hackernoon.com/react-native-how-to-setup-your-first-app-a36c450a8a2f
  491. Create a React Native app on an Android emulator: https://charles-stover.medium.com/create-a-react-native-app-on-an-android-emulator-1c0d94f288ae
  492. How to build Mobile App with ReactNative: https://medium.com/@fakiho/how-to-build-mobile-app-with-react-native-dd3370755f12
  493. Debugging React Native: https://railsware.com/blog/debugging-react-native/
  494. You are NOT a React Native noob: https://hackernoon.com/you-are-not-a-react-native-noob-c4309ceccd91 (common React Native gotchas and concepts that will help you before and during development)
  495. Fixing React Native WebView’s postMessage for iOS: https://medium.com/@Charles_Stover/fixing-react-native-webviews-postmessage-for-ios-10e2320b2f14
  496. Does React Native Surpass Ionic?: https://dzone.com/articles/does-react-native-surpass-ionic (probably a tie or narrow win for Ionic actually)
  497. What does React Native use to allow JavaScript to be executed on iOS and Android natively?: https://stackoverflow.com/questions/33479180/what-does-react-native-use-to-allow-javascript-to-be-executed-on-ios-and-android
  498. WebView: https://facebook.github.io/react-native/docs/webview.html
  499. React Native Load Local HTML File Place Inside App in WebView: https://reactnativecode.com/load-local-html-file-webview-android-ios/
  500. Load Local HTML File or URL in React Native using react-native-webview: https://aboutreact.com/load-local-html-file-url-using-react-native-webview/
  501. How does React Native work?: https://www.quora.com/How-does-React-Native-work
  502. Why Select React Native For Hybrid App Development?: https://www.excellentwebworld.com/react-native-hybrid-app-development/
  503. Under The Hood of React Native | Martin Konicek | Reactive 2015: https://www.youtube.com/watch?v=8N4f4h6SThc | SLIDES (took 3 months for iOS then afterwards 3 more months for Android for Facebook team themselves to build Facebook Ads app)
  504. How to Build a Mobile App with React Native Components: https://applikeysolutions.com/blog/how-to-build-a-mobile-app-with-react-native-components
  505. Writing Cross-Platform Apps with React Native: https://www.infoq.com/articles/react-native-introduction/
  506. React Native Internals: https://www.reactnative.guide/3-react-native-internals/3.1-react-native-internals.html
  507. Bridging in React Native An in-depth look into React Native's core: https://tadeuzagallo.com/blog/react-native-bridge/
  508. Understanding the React Native bridge concept: https://hackernoon.com/understanding-react-native-bridge-concept-e9526066ddb8
  509. Biometric Authentication in React-Native Applications: https://dzone.com/articles/incorporate-biometric-authentication-to-your-react
  510. Is Facebook iOS app built in React Native?: https://stackoverflow.com/questions/41843974/is-facebook-ios-app-built-in-react-native
  511. Does Facebook use React Native for its own apps?: https://www.quora.com/Does-Facebook-use-React-Native-for-its-own-apps
  512. Timothy Yung -- Engineering Manager of React Native at Facebook: https://twitter.com/yungsters/status/989361665752748033
  513. Facebook moving away from React Native?: https://news.ycombinator.com/item?id=17216628
  514. State of React Native 2018: https://facebook.github.io/react-native/blog/2018/06/14/state-of-react-native-2018
  515. React Native Open Source Update June 2019: https://facebook.github.io/react-native/blog/2019/06/12/react-native-open-source-update
  516. React Native -- What it is and how it works: https://medium.com/we-talk-it/react-native-what-it-is-and-how-it-works-e2182d008f5e
  517. React Native vs Real Native Apps: https://codeburst.io/react-native-vs-real-native-apps-ad890986f1f
  518. React Native -- Pros & Cons: https://citrusbits.com/react-native-pros-and-cons/
  519. NativeScript vs Ionic Framework vs React Native: https://gist.github.com/cipas/fec1e31715092b59621bb214dc1880dc
  520. React Native Vs Ionic 2: Comparison: https://medium.com/swlh/react-native-vs-ionic-2-comparison-50aba900be6c
  521. Dive into React Native performance: https://code.fb.com/android/dive-into-react-native-performance/
  522. AirBnB -- Sunsetting React Native: https://medium.com/airbnb-engineering/sunsetting-react-native-1868ba28e30a
  523. React Native vs Ionic -- A Side-by-Side Comparison: https://www.codementor.io/fmcorz/react-native-vs-ionic-du1087rsw
  524. Ionic vs. React Native…or May Be Flutter to Build a Mobile App?: https://railsware.com/blog/ionic-vs-react-native-building-a-mobile-app/
  525. Ionic Vs. React Native - Which Framework Is Better for Cross-Platform Mobile App Development?: https://dzone.com/articles/ionic-vs-react-native-which-framework-is-better-fo
  526. Ionic Framework on the raging debate -- Ionic .vs. ReactNative: https://ionicframework.com/resources/articles/ionic-vs-react-native-a-comparison-guide
  527. React Native vs. Ionic Explained -- A Step-by-Step Evaluation: https://codeburst.io/react-native-vs-ionic-explained-a-step-by-step-evaluation-23975999887
  528. Should I use React Native?: https://eliezer.medium.com/should-i-use-react-native-edc98303f723
  529. Which Is Better For My Startup - Ionic or React Native?: https://expertise.jetruby.com/which-is-better-for-my-startup-ionic-or-react-native-474551b6a7dc
  530. What Sucks About React Native: https://shift.infinite.red/what-sucks-about-react-native-c38a307a210f
  531. Why I'm not a React Native Developer: https://arielelkin.github.io/articles/why-im-not-a-react-native-developer.html
  532. How to use Git with React Native(for Mac users): https://medium.com/react-native-institute/how-to-use-git-with-react-native-687c12431e36
  533. Building MobileApps in Ionic-React: https://www.smashingmagazine.com/2019/08/building-mobile-apps-ionic-react/
  534. Adding "Notch" (lib for "safe area" detection of "cut-out/bezel-contour" shapes of varied Mobile deviecs) support to your React Native apps -- Android, iOS & Web: https://dev.to/brunolemos/adding-notch-support-to-your-react-native-android-app-3ci3
  535. Flexbox layouts and lists with React Native: https://developerlife.com/2017/04/26/flexbox-layouts-and-lists-with-react-native/
  536. Get Started With React Native Layouts: https://code.tutsplus.com/tutorials/get-started-with-layouts-in-react-native--cms-27418
  537. Netflix app clone in ReactNative: https://github.com/matheusmichels/netflix-clone
  538. Cloning Tinder Using React Native Elements and Expo: https://www.sitepoint.com/cloning-tinder-using-react-native-elements-expo/
  539. React Native and Forms Redeux: Part 1 | Part 2 | SRC
  540. Styling in React Native - Step By Step: https://medium.com/better-programming/styling-in-react-native-step-by-step-540f57411566
  541. React Native — How to handle an app with both pre-AndroidX and AndroidX dependencies (RN60): https://itnext.io/react-native-how-to-handle-an-app-with-both-pre-androidx-and-androidx-dependencies-rn60-bf4df7ea0dd2
  542. How to configure and code Android in-app purchases in React Native apps: https://medium.com/react-native-training/how-to-configure-and-code-android-in-app-purchases-in-react-native-apps-a46247908862
  543. Animated Graph in React Native: https://medium.com/react-native-motion/animated-graph-in-react-native-51354af2bdb0
  544. How to Highlight and Multi-Select items in a ReactNative "FlatList" Component: https://medium.com/better-programming/how-to-highlight-and-multi-select-items-in-a-flatlist-component-react-native-1ca416dec4bc
  545. How to Generate Haptic Feedback in ReactNative: https://dzone.com/articles/how-to-generate-haptic-feedback-in-react-native
  546. How to test SQLite for React Native apps using Jest: https://blog.codemagic.io/testing-local-database-for-react-native/
  547. Is Svelte a cut above React ??: https://medium.com/globant/is-svelte-a-cut-above-react-aa1e4f76b170
  548. The Philosophy of Svelte: https://blog.scottlogic.com/2021/01/18/philosophy-of-svelte.html
  549. Microsoft is Finally Ditching Electron: https://blog.devgenius.io/microsoft-is-finally-ditching-electron-9e081757f9db
  550. Video SEO Tutorial – Using SWFObject 2.1 to Provide Alternative HTML Content (Part 2 of 2) : http://www.reelseo.com/swfobject-video-seo-2/
  551. Compiling JScript Code from the Command Line: http://msdn.microsoft.com/en-us/library/7435xtz6(v=VS.71).aspx
  552. Why Babel Matters: https://codemix.com/blog/why-babel-matters/
  553. You might not need to transpile your JavaScript: https://www.freecodecamp.org/news/you-might-not-need-to-transpile-your-javascript-4d5e0a438ca/
  554. Is It Time To Say Goodbye To Webpack?: https://javascript.plainenglish.io/time-to-say-goodbye-to-webpack-5bf06ff48823
  555. Yeoman official 25-minute tutorial: https://yeoman.io/codelab/index.html
  556. WebPack -- Tree Shaking: https://webpack.js.org/guides/tree-shaking/
  557. CopyWebpackPlugin: https://webpack.js.org/plugins/copy-webpack-plugin/ | SRC
  558. Use webpack with __dirname correctly: https://codeburst.io/use-webpack-with-dirname-correctly-4cad3b265a92
  559. WebPack + Mocha -- From 0 to automated testing: https://itnext.io/webpack-from-0-to-automated-testing-4634844d5c3c
  560. Visualizing the Size of your Vue/React/Angular Bundles: https://www.mavice.com/blog/visualizing-the-size-of-your-vue-react-angular-bundles/
  561. Building With Gulp: http://www.smashingmagazine.com/2014/06/11/building-with-gulp/
  562. Webpack — What is it and is it better than Gulp?: https://blog.vanila.io/webpack-what-is-it-and-is-it-better-than-gulp-375db8011d22
  563. Gulp vs Grunt vs Webpack -- Comparison of Build Tools / Task Runners: https://da-14.com/blog/gulp-vs-grunt-vs-webpack-comparison-build-tools-task-runners
  564. Webpack vs Gulp vs Grunt vs Browserify -- Which tool to use?: https://www.cleveroad.com/blog/gulp-browserify-webpack-grunt
  565. Webpack vs Gulp: https://buddy.works/blog/webpack-vs-gulp
  566. NPM vs. Bower vs. Browserify vs. Gulp vs. Grunt vs. Webpack: https://stackoverflow.com/questions/35062852/npm-vs-bower-vs-browserify-vs-gulp-vs-grunt-vs-webpack
  567. wikipedia: lint (software)
  568. Warning! JSLint will hurt your feelings: http://www.jslint.com/lint.html
  569. wikipedia:Obfuscated code
  570. Hacker Wanted: http://www.webdeveloper.com/forum/showthread.php?t=66136
  571. JavaScript Obfuscation tutorial: http://www.mkyong.com/javascript/javascript-obfuscator/
  572. Using "Packer" for JS minification/obsfucation/compression: http://joliclic.free.fr/php/javascript-packer/en/
  573. JS-Unit intro: http://www.jsunit.net/
  574. How I introduced JsDoc into a JavaScript project – and found my Eclipse Outline: http://kajabity.com/2012/02/how-i-introduced-jsdoc-into-a-javascript-project-and-found-my-eclipse-outline/
  575. How to get Eclipse to do auto-javadoc comments in Javascript document: https://stackoverflow.com/questions/11961104/how-to-get-eclipse-to-do-auto-javadoc-comments-in-javascript-document
  576. Creating JSDoc Comments: https://www.jetbrains.com/help/idea/creating-jsdoc-comments.html
  577. JSDoc (old) project home: http://jsdoc.sourceforge.net/
  578. Annotating JavaScript for the Closure Compiler: https://github.com/google/closure-compiler/wiki/Annotating-JavaScript-for-the-Closure-Compiler
  579. How do you attach JSdoc in Eclipse so that I can have autocomplete for a personal library: https://stackoverflow.com/questions/14986907/how-do-you-attach-jsdoc-in-eclipse-so-that-i-can-have-autocomplete-for-a-persona
  580. Oracle Nashorn -- A Next-Generation JavaScript Engine for the JVM: http://www.oracle.com/technetwork/articles/java/jf14-nashorn-2126515.html
  581. Nashorn JavaScript engine for JVM could be axed: https://www.infoworld.com/article/3279893/javascript/nashorn-javascript-engine-for-jvm-could-be-axed.html
  582. Oracle Proposes Deprecating Java's JavaScript Engine Nashorn: https://www.infoq.com/news/2018/06/deprecate-nashorn
  583. JS Editor: http://www.netbeans.org/kb/61/ide/javascript-editor.html
  584. Collaborative real-time code editors: http://collaboration.wikia.com/wiki/Collaborative_real-time_editor
  585. W3schools -- JS - Prototypes: https://www.w3schools.com/js/js_object_prototypes.asp
  586. Minify JS and CSS files in batch with drag-and-drop: http://www.scriptiny.com/2013/01/minify-js-and-css-files-in-batch-with-drag-and-drop/
  587. Batch compress all files in a folder with YUI Compressor (Linux/Unix): http://patjack.co.uk/batch-compress-all-files-in-a-folder-with-yui-compressor/
  588. 25 JavaScript tricks you should know: https://medium.com/javascript-in-plain-english/25-javascript-code-solutions-utility-tricks-you-need-to-know-about-3023f7ed993e
  589. JSLint - The Bad Part: http://webreflection.blogspot.com/2010/02/jslint-bad-part.html
  590. Advanced event registration models: http://www.quirksmode.org/js/events_advanced.html
  591. JS The Good Parts -- White space railroad diagrams confusing: https://stackoverflow.com/questions/15917859/javascript-the-good-parts-white-space-railroad-diagrams-confusing
  592. Google Talk -- JS The Good Parts (Douglas Crockford): https://www.youtube.com/watch?v=hQVTIJBZook
  593. wikipedia: Backus–Naur form (BNF diagrams)
  594. wikipedia: Syntax diagram
  595. You Might Not Need jQuery: http://youmightnotneedjquery.com/
  596. JavaScript Without jQuery -- Tips and Practical Examples: http://dzone.com/articles/javascript-without-jquery-tips-and-practical-examp
  597. Comparing Scripts in jQuery and JavaScript - with class switching: http://alittlecode.com/comparing-scripts-in-jquery-and-javascript-a-comparison-by-jeffrey-way/
  598. You might not need jQuery: http://youmightnotneedjquery.com (guide to how to do common jQuery things in vanilla, modern JS)
  599. Do You Really Need jQuery?: https://www.sitepoint.com/do-you-really-need-jquery/
  600. Bake Vanilla JavaScript Websites - jQuery (sugar) free: https://aemcorner.com/bake-vanilla-javascript-websites-sugar-free/
  601. Are named functions or anonymous functions preferred in JavaScript?: https://stackoverflow.com/questions/10081593/are-named-functions-or-anonymous-functions-preferred-in-javascript
  602. How can I convert a string to boolean in JavaScript?: https://stackoverflow.com/questions/263965/how-can-i-convert-a-string-to-boolean-in-javascript
  603. How do JavaScript closures work?: https://stackoverflow.com/questions/111102/how-do-javascript-closures-work?rq=1
  604. May function declarations appear inside statements in JavaScript?: https://stackoverflow.com/questions/4071292/may-function-declarations-appear-inside-statements-in-javascript
  605. Are anonymous functions a bad practice in JavaScript?: https://stackoverflow.com/questions/3462255/are-anonymous-functions-a-bad-practice-in-javascript?noredirect=1&lq=1
  606. JavaScript closure inside loops – simple practical example: https://stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example?rq=1
  607. What does “use strict” do in JavaScript, and what is the reasoning behind it?: https://stackoverflow.com/questions/1335851/what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it?rq=1
  608. Counting with a local variable example: https://www.w3schools.com/js/tryit.asp?filename=tryjs_function_counter3
  609. JavaScript Closures: https://www.w3schools.com/js/js_function_closures.asp
  610. JavaScript - Closures : http://conceptf1.blogspot.ca/2013/11/javascript-closures.html
  611. Advanced JS -- working with functions: javascript.info/advanced-functions
  612. Why is this function wrapped in parentheses, followed by parentheses?: https://stackoverflow.com/questions/5815757/why-is-this-function-wrapped-in-parentheses-followed-by-parentheses
  613. What is the (function() { } )() construct in JavaScript?: https://stackoverflow.com/questions/8228281/what-is-the-function-construct-in-javascript
  614. Awkward way of executing JavaScript code: https://stackoverflow.com/questions/8228281/what-is-the-function-construct-in-javascript
  615. Stop writing anonymous functions: https://stijndewitt.com/2013/12/02/stop-writing-anonymous-functions/
  616. JavaScript checking for null vs. undefined and difference between == and ===: https://stackoverflow.com/questions/5101948/javascript-checking-for-null-vs-undefined-and-difference-between-and
  617. How to check for an undefined or null variable in JavaScript?: https://stackoverflow.com/questions/2559318/how-to-check-for-an-undefined-or-null-variable-in-javascript
  618. How we captured AJAX requests from a website tab with a Chrome Extension: https://www.moesif.com/blog/technical/apirequest/How-We-Captured-AJAX-Requests-with-a-Chrome-Extension/
  619. Modern example utility function to get all siblings of a DOM Element: https://attacomsian.com/blog/javascript-dom-get-all-siblings-of-an-element
  620. Problems with Array.prototype.indexOf.call: https://stackoverflow.com/questions/17167628/problems-with-array-prototype-indexof-call
  621. What is the difference between JavaScript and ECMAScript?: https://stackoverflow.com/questions/912479/what-is-the-difference-between-javascript-and-ecmascript
  622. What are the differences between JavaScript, EMCAScript, CoffeeScript and TypeScript?: https://www.quora.com/What-are-the-differences-between-JavaScript-EMCAScript-CoffeeScript-and-TypeScript
  623. Introducing the OpenJS Foundation -- The Next Phase of JavaScript Ecosystem Growth: https://medium.com/@nodejs/introducing-the-openjs-foundation-the-next-phase-of-javascript-ecosystem-growth-d4911b42664f
  624. What is Typescript & EcmaScript: https://steemit.com/javascript/@scaevola/what-is-typescript-and-ecmascript
  625. Microsoft's TypeScript 1.5 falls in line with ECMAScript: https://www.infoworld.com/article/2950535/javascript/microsofts-typescript-15-falls-in-line-with-ecmascript.html
  626. TypeScript Gets Closer To ECMAScript: https://visualstudiomagazine.com/articles/2017/04/11/typescript-23-ecmascript-support.aspx
  627. TypeScript Practical Introduction: https://auth0.com/blog/typescript-practical-introduction/
  628. AtScript -- Google’s new superset JavaScript runtime: http://sdtimes.com/atscript-googles-new-superset-javascript-runtime/
  629. What is the difference between document.location.href and document.location?: https://stackoverflow.com/questions/2652816/what-is-the-difference-between-document-location-href-and-document-location
  630. Setting location.href versus location: https://stackoverflow.com/questions/2383401/javascript-setting-location-href-versus-location
  631. window.location vs. document.location: https://ask.roboflow.ai/question/7857878
  632. JavaScript Window Location: https://www.tutorialrepublic.com/javascript-tutorial/javascript-window-location.php
  633. A Complete Guide to the document.location Property and Location Object in JavaScript: https://levelup.gitconnected.com/introducing-the-javascript-window-object-location-property-introduction-44492019680d
  634. How To Replace All Occurrences Of A Word In A JavaScript String?: https://www.designcise.com/web/tutorial/how-to-replace-all-occurrences-of-a-word-in-a-javascript-string
  635. Mutation Events; https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Mutation_events
  636. How to get bootstrap modal size: http://stackoverflow.com/questions/28198035/how-to-get-bootstrap-modal-size
  637. Set div height equal to screen size: http://stackoverflow.com/questions/12172177/set-div-height-equal-to-screen-size
  638. window object, a slightly less evil alternative to eval(): http://fiddle.jshell.net/Shaz/WmA8t/
  639. Vapor.JS project: https://web.archive.org/web/20120322223910/http://www.vaporjs.com/
  640. Vapor.js - A new JavaScript framework from the author of script.aculo.us: http://news.ycombinator.com/item?id=1728645
  641. Facebook Refuses to Alter React's Open Source License: https://www.infoq.com/news/2017/08/facebook-react-license
  642. Explaining React's license: https://code.facebook.com/posts/112130496157735/explaining-react-s-license/
  643. Facebook re-licenses React under MIT license after developer backlash: https://thenextweb.com/dd/2017/09/25/facebook-re-licenses-react-mit-license-developer-backlash/
  644. Outraged programmers forced a rare concession from Facebook on its open-source software: https://qz.com/1087865/outraged-programmers-stood-up-to-facebook-fb-over-open-source-licensing-and-won-sort-of/
  645. Facebook performs successful license surgery on React, GraphQL: https://www.theregister.co.u/2017/09/26/facebook_license_surgery_on_react/
  646. Facebook won't change React.js license despite Apache developer pain: https://www.theregister.co.uk/2017/08/21/facebook_apache_openbsd_plus_license_dispute/

See Also

AJAX | JSON | XML | CSS | HTML | HTML5