I am planning to make a free JavaScript online video series, the. The first chapter covers the Javascript history and its capabilities. Following is a transcript of the video.
I would like it to be reviewed by someone good at JavaScript. CheckedCheck for the correctness, the accuracy of facts, and any other suggestionsuggestions or improvements that might seem necessary. I would especially require scrutiny in the 'abilities' section of the script to see if the definitions hold true.
JavaScript was created at Netscape Communications by Brendan Eich and his team in 10 days, in May 1995. Its syntax and functionality waswere inspired by Java, Scheme, and Self.
Javascript was first named as Mocha, later renamed as LiveScript,. LiveScript was again renamed to JavaScript to gain popularity as the 'younger brother' of Java
JavaScript was meant to manipulate web pages by modifying the DOM toshowto show, hide or change content dynamically
Is used for online form submissions and animations.
It is the Defacto client side-side scripting language of browsers, a popular choice on servers as well.
ECMAScript is a scripting-language language specification standardized by Ecma International, it is a set of guidelines to design aa scripting language. JavaScript is an implementation of ECMAScript
Javascript is a scripting language, since it is interpreted by browsers and there is no intermediate compiled code. Modern browsers now use JIT compilers to 'semi compile' it in order to optimize its execution
Javascript is single threaded-threaded to minimize complexities with concurrency
In browsers and servers Javascript code iscodes are parsed (read) inside an environment called Javascript Engine. Javascript engine compiles it to machine language and instructs the OS to execute the instructions
someSome notable javascript engines are V8 – in Chrome and Opera. SpiderMonkey – in Firefox. ChakraCore - in Microsoft Edge. Nitro or SquirrelFish - in Safari
- V8 – in Chrome and Opera.
- SpiderMonkey – in Firefox.
- ChakraCore - in Microsoft Edge.
- Nitro or SquirrelFish - in Safari
abilitiesAbilities
- can run multiple tasks simultaniouslysimultaneously without blocking any of the tasks (Asynchronous)
- can exchange data asynchronously with a server accrossacross a network (Fetch apiAPI or AJAX)
- can react to user actions such as mouse click, key presskeypress, etc (event handling)
- can switch between tasks in a single threaded-threaded execution (concurrency)
- can make use of object oriented-oriented concepts (prototype based-based Object Model)
- can manipulate DOM of the browser to change the display of the webpage
- can store data locally on browsers (cookies, local storeagestorage, etc)
restrictionsRestrictions placed in the browser for the sake of data safety
- Does not provide low-level cpuCPU and memory access
- Cannot implicitly access files or OS functions
- users need to explicitly provide file asscessaccess by input tags as well as for input device access such as camera and microphonemicrophone, cannot access other tabs of the browser.
- It follows the 'same origin-origin policy' wherein javascript from one domain cannot access resources from a different domain if it does'tdoesn't have a CORS header
Javascript running on the server side have full access onto the file system, input devices, and OS functions. it does not follow 'same origin-origin policy'
Javascript Capabilities depend on the implementation of the javascript engine and the interfaces provided to it by the environmentenvironment.
Other languages compile into javascript which is then parsed by javascript engines. One such notable language is TypeScript which adds strict typing and object orientation.