<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Javascript on The VikiD Truth</title><link>https://thevikidtruth.com/computing/category/javascript/</link><description>Recent content in Javascript on The VikiD Truth</description><generator>Hugo</generator><language>en</language><lastBuildDate>Thu, 22 Oct 2026 10:30:00 +0400</lastBuildDate><atom:link href="https://thevikidtruth.com/computing/category/javascript/index.xml" rel="self" type="application/rss+xml"/><item><title>Prototypal Inheritance</title><link>https://thevikidtruth.com/computing/jsprototypalinheritance/</link><pubDate>Tue, 11 Apr 2023 03:13:18 +0400</pubDate><guid>https://thevikidtruth.com/computing/jsprototypalinheritance/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="prototypal-inheritance"&gt;Prototypal Inheritance&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth that makes JavaScript&amp;rsquo;s object model click: &lt;strong&gt;there are no classes in the engine – only objects linked to other objects.&lt;/strong&gt; The &lt;code&gt;class&lt;/code&gt; keyword is tidy syntax over a much older idea called prototypal inheritance.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;Every JavaScript object has an internal link to another object, its &lt;strong&gt;prototype&lt;/strong&gt;. When you ask for a property and it isn&amp;rsquo;t on the object itself, the engine looks at the prototype, then &lt;em&gt;that&lt;/em&gt; object&amp;rsquo;s prototype, and so on until it hits &lt;code&gt;null&lt;/code&gt;. That chain is how inheritance works.&lt;/p&gt;</description></item><item><title>Three.js</title><link>https://thevikidtruth.com/computing/jsthree/</link><pubDate>Sun, 02 Apr 2023 01:54:13 +0400</pubDate><guid>https://thevikidtruth.com/computing/jsthree/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; | &lt;span class="missing-link"&gt;Making Shapes&lt;/span&gt;&lt;/p&gt;&#10;&lt;h1 id="threejs"&gt;Three.js&lt;/h1&gt;&#10;&lt;p&gt;&lt;span class="missing-link"&gt;Making Shapes&lt;/span&gt;&lt;/p&gt;&#10;&lt;h4 id="getting-started"&gt;Getting Started&lt;/h4&gt;&#10;&lt;p&gt;&lt;a href="https://threejs.org/docs/index.html#manual/en/introduction/Creating-a-scene" rel="noopener"&gt;Three.js Official Docs&lt;/a&gt;&#10;&lt;a href="https://threejs.org/docs/#manual/en/introduction/Installation" rel="noopener"&gt;Installation&lt;/a&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;======================================================================================================&#10;Install&#10;======================================================================================================&#10;npm install --save three&#10;&#10;npm install --save-dev vite&#10;&#10;npx vite&#10;&#10;http://localhost:5173&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href="https://vitejs.dev/guide/#command-line-interface" rel="noopener"&gt;vitejs&lt;/a&gt;, &lt;a href="https://docs.npmjs.com/cli/v9/using-npm/scripts" rel="noopener"&gt;using npm&lt;/a&gt;,&#10;&lt;a href="https://threejs-journey.com/lessons/local-server" rel="noopener"&gt;threejs server video&lt;/a&gt;,&#10;&lt;a href="https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Package_management" rel="noopener"&gt;Package management basics&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Files, Code&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;======================================================================================================&#10;index.html&#10;======================================================================================================&#10;&amp;lt;!DOCTYPE html&amp;gt;&#10;&amp;lt;html&amp;gt;&#10;&#9;&amp;lt;head lang=&amp;#34;en&amp;#34;&amp;gt;&#10;&#9;&#9;&amp;lt;meta charset=&amp;#34;utf-8&amp;#34;&amp;gt;&#10;&#9;&#9;&amp;lt;title&amp;gt;My first three.js app&amp;lt;/title&amp;gt;&#10;&#9;&#9;&amp;lt;style&amp;gt;&#10;&#9;&#9;&#9;body { margin: 0; }&#10;&#9;&#9;&amp;lt;/style&amp;gt;&#10;&#9;&amp;lt;/head&amp;gt;&#10;&#9;&amp;lt;body&amp;gt;&#10;&#9;&#9;&amp;lt;script type=&amp;#34;module&amp;#34; src=&amp;#34;/main.js&amp;#34;&amp;gt;&amp;lt;/script&amp;gt;&#10;&#9;&amp;lt;/body&amp;gt;&#10;&amp;lt;/html&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;======================================================================================================&#10;main.js&#10;======================================================================================================&#10;&#10;import * as THREE from &amp;#39;three&amp;#39;;&#10;&#10;const scene = new THREE.Scene();&#10;const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );&#10;&#10;const renderer = new THREE.WebGLRenderer();&#10;renderer.setSize( window.innerWidth, window.innerHeight );&#10;document.body.appendChild( renderer.domElement );&#10;&#10;const geometry = new THREE.BoxGeometry( 1, 1, 1 );&#10;const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );&#10;const cube = new THREE.Mesh( geometry, material );&#10;scene.add( cube );&#10;&#10;camera.position.z = 5;&#10;function animate() {&#10;&#9;requestAnimationFrame( animate );&#10;&#10;&#9;cube.rotation.x += 0.01;&#10;&#9;cube.rotation.y += 0.01;&#10;&#10;&#9;renderer.render( scene, camera );&#10;}&#10;animate();&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;to be continued&amp;hellip;&lt;/p&gt;</description></item><item><title>Javascript Events</title><link>https://thevikidtruth.com/computing/jsevents/</link><pubDate>Sun, 02 Apr 2023 01:28:15 +0400</pubDate><guid>https://thevikidtruth.com/computing/jsevents/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="javascript-events"&gt;Javascript Events&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about events: &lt;strong&gt;your JavaScript mostly doesn&amp;rsquo;t run – it waits.&lt;/strong&gt; It registers &amp;ldquo;when this happens, do that&amp;rdquo;, goes quiet, and the browser (or Node.js) wakes it up when something happens. Learning events is learning to write code that waits well.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;An &lt;strong&gt;event&lt;/strong&gt; is a signal that something happened: a click, a key press, a page finishing loading, a network message arriving, a file being read. An &lt;strong&gt;event listener&lt;/strong&gt; (or handler) is a function you attach to a target that will be called when that event fires.&lt;/p&gt;</description></item><item><title>Javascript Functions</title><link>https://thevikidtruth.com/computing/jsfunctions/</link><pubDate>Sun, 02 Apr 2023 01:28:00 +0400</pubDate><guid>https://thevikidtruth.com/computing/jsfunctions/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="javascript-functions"&gt;Javascript Functions&lt;/h1&gt;&#10;&lt;p&gt;The truth at the heart of JavaScript: &lt;strong&gt;functions are values.&lt;/strong&gt; You can store them in variables, pass them to other functions, return them, and stick them in objects. Everything clever in the language – callbacks, promises, event handlers, array methods – follows from that one fact.&lt;/p&gt;</description></item><item><title>Javascript Objects</title><link>https://thevikidtruth.com/computing/jsobjects/</link><pubDate>Sun, 02 Apr 2023 01:27:38 +0400</pubDate><guid>https://thevikidtruth.com/computing/jsobjects/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="javascript-objects"&gt;Javascript Objects&lt;/h1&gt;&#10;&lt;p&gt;Strip away the syntax and here is the truth: &lt;strong&gt;a JavaScript object is just a bag of named slots, plus a hidden link to another bag to ask when a slot is missing.&lt;/strong&gt; Arrays, functions, dates, DOM nodes – all of them are that, underneath.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;An object is a collection of &lt;strong&gt;properties&lt;/strong&gt;. Each property has a &lt;strong&gt;key&lt;/strong&gt; (a string or a symbol) and a &lt;strong&gt;value&lt;/strong&gt; (anything – a number, another object, a function). When a property&amp;rsquo;s value is a function, we call it a &lt;strong&gt;method&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Javascript Scope</title><link>https://thevikidtruth.com/computing/jsscope/</link><pubDate>Sun, 02 Apr 2023 01:27:07 +0400</pubDate><guid>https://thevikidtruth.com/computing/jsscope/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="javascript-scope"&gt;Javascript Scope&lt;/h1&gt;&#10;&lt;p&gt;The truth behind scope is simple: &lt;strong&gt;every name lives somewhere, and code can only see the names in its own room and the rooms that contain it.&lt;/strong&gt; That nesting of rooms, decided by where you &lt;em&gt;write&lt;/em&gt; the code, is all scope is.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;&lt;strong&gt;Scope&lt;/strong&gt; is the region of a program where a name is visible. An &lt;strong&gt;environment&lt;/strong&gt; (the spec calls it an &lt;em&gt;Environment Record&lt;/em&gt;) is the actual table, at run time, that maps names to values for that region. Each environment keeps a pointer to its &lt;em&gt;outer&lt;/em&gt; environment, forming a chain. When you use a name, JavaScript looks in the current environment, then the outer one, then the next, until it hits the global environment. If the name isn&amp;rsquo;t there, you get a &lt;code&gt;ReferenceError&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Javascript Variables</title><link>https://thevikidtruth.com/computing/jsvariable/</link><pubDate>Sun, 02 Apr 2023 01:26:09 +0400</pubDate><guid>https://thevikidtruth.com/computing/jsvariable/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="javascript-variables"&gt;Javascript Variables&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth nobody tells beginners: &lt;strong&gt;a variable is not a box that holds a value. It is a name that points at a value.&lt;/strong&gt; Once that sinks in, half the &amp;ldquo;weird&amp;rdquo; behaviour of JavaScript stops being weird.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;A variable is a label you attach to a value so you can find it again. In modern JavaScript (everything since ES2015, and everything you should be writing in 2026) you create one with one of two keywords:&lt;/p&gt;</description></item><item><title>Javascript Control Flow</title><link>https://thevikidtruth.com/computing/jscontrolflow/</link><pubDate>Wed, 24 Aug 2022 01:03:54 +0400</pubDate><guid>https://thevikidtruth.com/computing/jscontrolflow/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="javascript-control-flow"&gt;Javascript Control Flow&lt;/h1&gt;&#10;&lt;h2 id="equality"&gt;Equality&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Triple Equals&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; 1 === 1;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;type&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;value&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Double Equals&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; 1 == 1;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Weird Examples&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; 0 == &amp;#34;0&amp;#34; // true&#10; 0 == &amp;#34;&amp;#34; // true&#10; 0 == [] // true&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; 0 == null // false&#10; 0 == undefined // false&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; &amp;#34;true&amp;#34; == true // false&#10; &amp;#34;false&amp;#34; == false // false&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; 5 == &amp;#34;5&amp;#34;;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; 5 === Number(&amp;#34;5&amp;#34;);&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Truthy or Falsy?&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; &amp;#34;&amp;#34; // falsy&#10; [] // truthy&#10; () // truthy&#10; NaN // falsy&#10; Infinity // falsy&#10; 0 // falsy&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; &amp;#34;&amp;#34; == false // true&#10; 0 == false // true&#10; 0n == false // true&#10; Nan == false // false&#10; null == false // false&#10; undefined == false // false&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;h3 id="memorize-the-7-falsy-values"&gt;memorize the 7 falsy values&lt;/h3&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&amp;quot;&amp;quot;&#10;&lt;ul&gt;&#10;&lt;li&gt;0&lt;/li&gt;&#10;&lt;li&gt;0n&lt;/li&gt;&#10;&lt;li&gt;NaN&lt;/li&gt;&#10;&lt;li&gt;undefined&lt;/li&gt;&#10;&lt;li&gt;null&lt;/li&gt;&#10;&lt;li&gt;false&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;null == null // true&#10;null == false // false&#10;null == true // false&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Objects&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Javascript Data Types</title><link>https://thevikidtruth.com/computing/jsdatatypes/</link><pubDate>Wed, 24 Aug 2022 00:05:54 +0400</pubDate><guid>https://thevikidtruth.com/computing/jsdatatypes/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="javascript-data-types"&gt;Javascript Data Types&lt;/h1&gt;&#10;&lt;p&gt;There are 8 fundamental data types:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Numbers, Strings, Booleans, Objects, Functions, Undefined, Bigints, Symbols&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Variables don&amp;rsquo;t have types. The values have types. remember to use &lt;code&gt;typeof&lt;/code&gt; operator.&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;h2 id="numbers"&gt;Numbers&lt;/h2&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;5&#10;0b101&#10;0o5&#10;0x5&#10;5e7&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;1. ```&#10;10 * &amp;#34;string&amp;#34; =&amp;gt; NaN&#10;10/0 =&amp;gt; Infinity&#10;-10/0 =&amp;gt; -Infinity&#10;&lt;/code&gt;&lt;/pre&gt;&lt;ol&gt;&#10;&lt;li&gt;Strings&lt;/li&gt;&#10;&lt;li&gt;`&amp;quot;&amp;quot; &amp;rsquo;&amp;rsquo; ```&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;let s = &amp;ldquo;Jane is good&amp;rdquo;&#10;s.length //12&#10;s.toLowerCase()&#10;s.toUpperCase()&lt;/p&gt;</description></item><item><title>Node Js</title><link>https://thevikidtruth.com/computing/nodejs/</link><pubDate>Sun, 11 Dec 2016 00:02:18 +0400</pubDate><guid>https://thevikidtruth.com/computing/nodejs/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript kata&lt;/span&gt; |&lt;a href="https://thevikidtruth.com/computing/nodejs/"&gt;Node JS&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsdatatypes/"&gt;Data Types&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsvariable/"&gt;Variables&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jscontrolflow/"&gt;Control Flow&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsscope/"&gt;Scope and Environment&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsobjects/"&gt;Objects&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsfunctions/"&gt;Functions&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/jsevents/"&gt;Events&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsprototypalinheritance/"&gt;Prototypal Inheritance&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/jsthree/"&gt;Three.js&lt;/a&gt; | &lt;a href="https://www.code3dgames.com/3de/" rel="noopener"&gt;3DE Code Editor&lt;/a&gt; |&lt;/p&gt;&#10;&lt;h1 id="node-js"&gt;Node Js&lt;/h1&gt;&#10;&lt;p&gt;&lt;a href="https://nodejs.dev/en/learn/" rel="noopener"&gt;Official Node Documentation&lt;/a&gt;&#10;&lt;strong&gt;On older Ubuntu releases the command was &lt;code&gt;nodejs&lt;/code&gt;, not &lt;code&gt;node&lt;/code&gt;:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;ln -s /usr/bin/nodejs /usr/bin/node&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href="http://book.mixu.net/node/single.html" rel="noopener"&gt;Mixu&amp;rsquo;s Node Book&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="install-nvm-manjaro-linux"&gt;Install NVM Manjaro Linux&lt;/h2&gt;&#10;&lt;p&gt;Use Node Version Manager, NVM.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo pacman -S nvm&#10;&#10;nvm install --lts&#10;npm install &amp;#34;package name&amp;#34;&#10;nvm uninstall --lts&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="getting-started-npm"&gt;Getting Started npm&lt;/h2&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;npm install &amp;lt;package-name&amp;gt;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;flags:&lt;/p&gt;</description></item></channel></rss>