JavaScript is a high-level (high abstraction) language, we mean:
👉 It hides the complex details of what’s happening in the computer (like memory, CPU,
hardware instructions).
You can do a lot without worrying about:
How memory is allocated
How data is stored at the hardware level
How the CPU processes your code
JavaScript is a dynamically typed language it means you don’t have to define the data
type of a variable when you create it.
Example:
js
CopyEdit
let x = 5; // x is a number
x = "hello"; // now x is a string
x = true;
In JavaScript, objects are created from other objects, This is called prototype-based
inheritance.
const animal = {
sound: "Generic sound",
makeSound() {
console.log(this.sound);
}
};
const dog = Object.create(animal); // dog inherits from animal
dog.sound = "Woof";
dog.makeSound(); // Output: Woof
JavaScript is a multi-paradigm language because it supports:
Paradigm Meaning Example
� Imperative Step-by-step instructions Loops, for, if, etc.
Uses functions and avoids changing data .map(), .filter(), pure
� Functional
(immutability) functions
� Object-Oriented class, constructor,
Uses objects and inheritance
(OOP) prototype
� Event-driven Reacts to user or system events onclick, addEventListener
async/await, Promise,
🕓 Asynchronous Handles waiting tasks like API calls
setTimeout
It means that JavaScript supports more than one programming style (paradigm) — you can write code
in different ways depending on your needs.
JIT stands for Just-In-Time compilation.
It means JavaScript code is:
Converted to machine code while the program is running (at runtime), not before.