Key Differentiators: Good Developers vs….Others

May 21, 2019

Drinks on the house :)

(mention you are with the Meetup)

Internet Explorer

Netscape

Java

Java

Brendan Eich

Mocha

"scripting language"

Developed in 10 days

Internet Explorer

Netscape

Mocha

LiveScript

JavaScript

Internet Explorer

Netscape

Mocha

LiveScript

JavaScript

JScript

Internet Explorer

Netscape

“Best viewed in Netscape”

"Best viewed in Internet Explorer"

ECMAScript

TC39

(Technical Committee 39)

TC39

Stage 0 - "strawman"

Stage 1 - "proposal"

Stage 2 - "draft"

Stage 3 - "candidate"

Stage 4 - "finished"

There is no acceptance criteria and anyone can make a new proposal for this stage. 

 An actual formal proposal. These require a “champion” (i.e. a member of TC39 committee)

At this stage the syntax is precisely described using the formal TC39 spec language

The proposal has approved and further changes will only occur at the request of implementation authors. Here is where you can expect implementation to begin in JavaScript engines.

Indicates that the proposal has been accepted and the specification has been merged with the main JavaScript spec.

Why JavaScript

  • No setup required
    • built right into the web browser!
  • It's everywhere!
    • web browser (Angular, React), server-side (Node), mobile, desktop, games, Internet of Things, robotics, virtual reality, etc.
  • Large number of npm packages
    • over 350k packages
  • high-paying jobs for JavaScript developers
  • JavaScript is an incredibly expressive and powerful language.

.....and some cons :/

Roadmap

Call Stack

Primitive Types

Values Types and References Types

== vs === vs typeoff

Function Scope, Block Scope and Lexical Scope

Expression vs Statement

IIFE, Modules and Namespaces

Messages Queue and Event Loop

setTimeout, setInterval and requestAnimationFrame

this, call, apply and bind

new, Constructor, instanceof and Instances

Pure Functions, Side Effects, and State Mutation

Closures

High Order Functions

async/await

map, reduce, filter

All About JavaScript

By Paul Beresuita

All About JavaScript

  • 321