Variables (var, let, const): Different types of variable declarations.
Data Types: String, Number, Boolean, Object, Array, Null, Undefined, Symbol.
Operators: Arithmetic, comparison, logical, and assignment operators.
Control Structures: if-else, switch, for, while, do-while loops.
Function Declarations and Expressions: function
, anonymous functions, arrow functions (=>
).
First-Class Functions: Functions as objects.
IIFE (Immediately Invoked Function Expressions): (function() {})()
.
Closures: Accessing variables from outer scopes.
Object Creation & Manipulation: Creating objects, properties, and methods.
Prototypes & Inheritance: Prototype chain, inheritance model.
Array Methods: map()
, filter()
, reduce()
, forEach()
, find()
.
Callbacks: Function as a parameter for asynchronous code.
Promises: Handling asynchronous operations with .then()
and .catch()
.
Async/Await: Syntactic sugar for promises, allowing async code to look synchronous.
Event Loop: Understanding how the JavaScript engine handles asynchronous operations.
Global vs Local Scope: Where variables and functions are accessible.
Lexical Scoping: Scope determined by the code's structure.
Hoisting: Understanding how JavaScript "hoists" declarations.
Closures: Functions "remember" the environment in which they were created.
Higher-order functions: Functions that accept other functions as arguments or return functions.
Selecting Elements: getElementById()
, querySelector()
, etc.
Event Handling: addEventListener()
, events, bubbling, delegation.
Modifying the DOM: Adding/removing elements, changing attributes and classes.
Try/Catch: Handling exceptions gracefully.
Throwing Errors: Custom error messages and types.
Destructuring: Arrays and objects.
Spread and Rest Operators: ...
for merging, copying, or passing variable arguments.
Modules: Importing and exporting with import
and export
.
Template Literals: String interpolation.
Classes: Syntactic sugar over prototypal inheritance.
Arrow Functions: Shorter syntax for functions and lexically scoped this
.
Event Loop: Understanding the JavaScript runtime model.
Microtasks vs Macrotasks: Prioritizing asynchronous tasks.
Memory Allocation: How JavaScript handles memory.
Garbage Collection: Understanding automatic memory management and freeing up resources.
Code Structure: Readable and maintainable code.
Error Handling: Proper use of try-catch and error logging.
Optimization Techniques: Improving performance (e.g., reducing DOM manipulation, event debouncing).
0 Comments
Leave a Comment