0% found this document useful (0 votes)
2 views7 pages

JavaScript 100 Concepts Reviewer

Uploaded by

nielogigare
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views7 pages

JavaScript 100 Concepts Reviewer

Uploaded by

nielogigare
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

100+ JavaScript Concepts You Need to Know

(Fireship)

Comprehensive Reviewer

Overview
This video provides a fast-paced overview of the essential building blocks of JavaScript, covering
its history, language fundamentals, functions, objects, asynchronous programming, modern web
development workflows, and the broader JavaScript ecosystem.

I. History and Runtime

JavaScript was created by Brendan Eich in 1995 and was originally designed to add interactivity to
web pages. Over time it evolved into one of the most widely used programming languages in the
world.

Key Points:
- Initially built for browser-based scripting.
- Now used for frontend, backend, mobile, desktop, and cloud applications.
- Modern JavaScript engines use Just-in-Time (JIT) compilation.
- Google's V8 Engine is one of the most influential JavaScript runtimes.
- JavaScript is high-performance despite being dynamically typed.

Important Terms:
- Runtime Environment
- JavaScript Engine
- V8 Engine
- Just-In-Time Compilation (JIT)
- Execution Context

II. Language Foundations

Variables

let
- Block scoped
- Can be reassigned

const
- Block scoped
- Cannot be reassigned

var
- Function scoped
- Older declaration style
- Subject to hoisting behavior
Data Types

Primitive Types:
- String
- Number
- Boolean
- Undefined
- Null
- BigInt
- Symbol

Reference Types:
- Object
- Array
- Function

Dynamic Typing

JavaScript is dynamically typed, meaning variable types are determined at runtime.

Scope

Lexical Scope:
Functions can access variables defined in their outer scope.

Types of Scope:
- Global Scope
- Function Scope
- Block Scope

III. Functions and Objects

Functions

Functions are reusable blocks of code.

Function Declaration Example:

function greet() {
return "Hello";
}

Higher-Order Functions

Functions that:
- Accept other functions as arguments
- Return functions as values
Examples:
- map()
- filter()
- reduce()

Closures

A closure occurs when a function remembers variables from its outer scope even after the outer
function has finished executing.

Objects

Objects store data in key-value pairs.

Example:

const user = {
name: "Jake",
age: 18
};

Prototypal Inheritance

Objects inherit behavior from other objects through prototypes.

Class Syntax

Modern JavaScript provides class syntax for object-oriented programming.

Example:

class User {
constructor(name) {
[Link] = name;
}
}

IV. Asynchronous JavaScript

Why Async Programming Matters

JavaScript executes code on a single thread but can handle asynchronous tasks efficiently.

Event Loop

The event loop enables non-blocking behavior by managing:


- Call Stack
- Web APIs
- Callback Queue
Callbacks

Functions executed after another operation completes.

Callback Hell

Deeply nested callbacks can make code difficult to read and maintain.

Promises

Promises represent the eventual completion or failure of an asynchronous operation.

States:
- Pending
- Fulfilled
- Rejected

Async and Await

Modern syntax for working with promises.

Example:

async function loadData() {


const data = await fetch(url);
}

Benefits:
- Cleaner code
- Better readability
- Easier debugging

V. Web Development Concepts

The DOM (Document Object Model)

The DOM represents a webpage as a tree of objects.

Developers use JavaScript to:


- Access elements
- Modify content
- Change styles
- Respond to user actions

Imperative Programming

Describes how tasks are performed step by step.

Declarative Programming

Describes the desired result while abstracting implementation details.


Modern UI Frameworks

Popular frameworks and libraries:


- React
- Vue
- Angular
- Svelte

These frameworks encourage declarative development.

VI. Build Tools and Bundlers

Why Bundlers Exist

Modern applications contain many files and dependencies.

Bundlers:
- Combine files
- Optimize assets
- Improve performance

Popular Bundlers:
- Vite
- webpack
- Parcel

Benefits:
- Faster development
- Improved optimization
- Better deployment workflows

VII. Modern JavaScript Ecosystem

[Link]

Allows JavaScript to run outside the browser.

Common Uses:
- Backend APIs
- Command-line tools
- Full-stack applications

TypeScript

A superset of JavaScript that adds static typing.

Benefits:
- Better tooling
- Improved maintainability
- Fewer runtime errors

ESLint

A linting tool used to:


- Detect mistakes
- Enforce coding standards
- Improve code quality

VIII. Essential Concepts Mentioned Throughout Modern JavaScript

- Variables
- Constants
- Scope
- Closures
- Objects
- Classes
- Prototypes
- Functions
- Higher-Order Functions
- Dynamic Typing
- Event Loop
- Callbacks
- Promises
- Async/Await
- DOM Manipulation
- UI Frameworks
- Bundlers
- [Link]
- TypeScript
- ESLint

IX. Quick Exam Review

Who created JavaScript?


Brendan Eich

What engine powers Google Chrome?


V8

Difference between let and const?


let can be reassigned; const cannot.
What is a closure?
A function that remembers variables from an outer scope.

What is the Event Loop?


The mechanism that enables non-blocking asynchronous execution.

What problem do Promises solve?


They improve handling of asynchronous operations and reduce callback hell.

What does async/await do?


Provides cleaner syntax for asynchronous code.

What is [Link]?
A runtime that allows JavaScript to run on servers and outside browsers.

What is TypeScript?
A typed superset of JavaScript.

One-Page Cheat Sheet

JavaScript = Programming Language


V8 = JavaScript Engine
JIT = Just-In-Time Compilation
let = Reassignable Variable
const = Constant Reference
Closure = Remember Outer Scope
Prototype = Inheritance Mechanism
Promise = Future Result
async/await = Modern Async Syntax
DOM = Webpage Object Tree
[Link] = Server-Side JavaScript
TypeScript = Typed JavaScript
ESLint = Code Quality Tool
Vite/Webpack = Module Bundlers

You might also like