syllabus
1. JavaScript Fundamentals: - Introduction: History, execution environment (browser, Node.js), basic syntax.
- Variables and Data Types:
var
, let
, const
, primitive types (strings, numbers, booleans, null, undefined, BigInt, Symbol), reference types (objects, arrays). - Operators: Arithmetic, assignment, comparison, logical, bitwise, ternary.
- Control Flow: Conditional statements (
if-else
, switch
), loops (for
, while
, do-while
, for...in
, for...of
). - Functions: Declaration, expression, arrow functions, parameters, return values, scope (global, local, block), closures, hoisting.
- Arrays: Creating, manipulating (methods like
push
, pop
, splice
, slice
), iteration (e.g., forEach
, map
, filter
, reduce
). - Objects: Creating, properties, methods, dot and bracket notation, built-in objects (e.g.,
Math
, Date
). - Object-Oriented Programming (OOP) Concepts: Prototypes, inheritance, classes (ES6),
this
keyword.
3. Browser-Side JavaScript (DOM Manipulation and Events): - Document Object Model (DOM): Selecting and manipulating HTML elements, changing styles, creating and deleting nodes.
- Event Handling: Event listeners, event propagation (bubbling, capturing), event object.
- Browser Object Model (BOM):
window
object, location
, navigator
, timers
(e.g., setTimeout
, setInterval
).
4. Asynchronous JavaScript: - Asynchronous Programming: Callbacks, Promises,
async/await
. - APIs: Introduction to working with web APIs (e.g., Fetch API for HTTP requests).
5. Advanced Topics (Optional, depending on course depth): - Error Handling:
try-catch
, custom errors. - Modules: ES6 modules (
import
/export
). - Testing: Introduction to testing frameworks (e.g., Jest).
- Modern JavaScript Features: Destructuring, spread/rest operators, optional chaining, nullish coalescing.
- Server-Side JavaScript: Introduction to Node.js and its ecosystem.
- Frameworks and Libraries: Brief overview or introduction to popular frameworks like React, Angular, or Vue.js.
