0% found this document useful (0 votes)
9 views

Javascript topic

Uploaded by

adamhshaikh2018
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Javascript topic

Uploaded by

adamhshaikh2018
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Mastering the Art of JavaScript with Krishna Bokefod

JavaScript Topics

1. JavaScript Basics
- Variables and Constants (`var`, `let`, `const`)
- Data Types(string, number, boolean, null, undefined, symbol,
bigint)
- Type Coercion (implicit and explicit conversions)
- Operators
- Arithmetic operators (`+`, `-`, `*`, `/`, `%`)
- Comparison operators (`==`, `===`, `!=`, `!==`, `<`, `>`)
- Logical operators (`&&`, `||`, `!`)
- Assignment operators (`=`, `+=`, `-=`, etc.)
- Bitwise operators (`&`, `|`, `^`, `~`)
- Ternary operator (`condition ? value1 : value2`)
- Truthy and Falsy Values
- Control Flow
- Conditional statements (`if`, `else`, `else if`, `switch`)
- Loops (`for`, `while`, `do-while`, `for...in`, `for...of`)
- Break and continue statements

2. Functions
- Function Declaration
- Function Expression
- Arrow Functions
- Higher-Order Functions (functions that accept or return other
functions)
- Anonymous Functions
- IIFE (Immediately Invoked Function Expression)
- Parameters vs Arguments
- Default Parameters
- Rest Parameters
- Spread Operator in Function Calls
- Closures
- Function Hoisting
- Call, Apply, and Bind Methods
Mastering the Art of JavaScript with Krishna Bokefod

- Callback Functions
- Pure Functions

3. Scope and Hoisting


- Global Scope
- Local Scope (function scope, block scope)
- Lexical Scope
- Scope Chain
- Hoisting (variable and function hoisting)
- Temporal Dead Zone (with `let` and `const`)

4. Objects and Prototypes


- Creating Objects (`{}`, `Object.create()`)
- Object Properties and Methods*
- Accessing Properties (dot vs bracket notation)
- Adding and Deleting Properties
- Shallow Copy vs Deep Copy
- Object.assign() and Spread Operator
- Prototypes and Prototype Chain
- Object Inheritance
- `this` Keyword* in Objects
- Constructor Functions
- `Object.seal()` and `Object.freeze()`

5. Arrays
- *Creating Arrays (`[]`, `new Array()`)
- *Array Methods
- Mutating: `push()`, `pop()`, `shift()`, `unshift()`, `splice()`
- Non-mutating: `map()`, `filter()`, `reduce()`, `forEach()`,
`concat()`, `slice()`, `join()`
- Searching: `find()`, `findIndex()`, `indexOf()`, `includes()`
- Destructuring Arrays
- Spread Operator with Arrays
- Array-Like Objects (`arguments` object, NodeList)
Mastering the Art of JavaScript with Krishna Bokefod

6. Strings and Template Literals


- String Methods (`charAt()`, `indexOf()`, `substring()`, `slice()`,
`split()`, `trim()`)
- Template Literals (multi-line strings, variable interpolation)
- Escape Characters (`\n`, `\t`, etc.)

7. Event Handling
- Event Listeners (`addEventListener`)
- Event Object (`event.target`, `event.currentTarget`)
- Event Propagation
- Event Bubbling
- Event Capturing
- *Preventing Default Behavior (`event.preventDefault()`)
- *Event Delegation
- *Stopping Propagation (`event.stopPropagation()`)

8. ES6+ Concepts
- Arrow Functions
- Destructuring (Arrays, Objects)
- Rest and Spread Operators
- Default Parameters
- Modules (`import`, `export`)
- `let` and `const` vs `var`
- Iterators and Generators
- Symbols
- WeakMap and WeakSet

9. Promises and Asynchronous JavaScript


- Callbacks
- Promise Constructor
- `then()` and `catch()`
Mastering the Art of JavaScript with Krishna Bokefod

- Chaining Promises
- `async` and `await`
- Error Handling in Async Functions
- Promise.all() and Promise.race()

10. Browser APIs and DOM Manipulation


- Selecting Elements (`getElementById()`, `querySelector()`,
`querySelectorAll()`)
- Modifying Content (`innerHTML`, `textContent`)
- Adding and Removing Elements (`appendChild()`,
`removeChild()`)
- Modifying Styles (`element.style`)
- DOM Events (click, input, change, etc.)
- Form Handling (input validation, submitting forms)
- LocalStorage and SessionStorage
- Cookies

11. Error Handling


- `try-catch-finally`
- Throwing Errors
- Custom Errors
- Error Types (`TypeError`, `ReferenceError`, `SyntaxError`)

12. Classes and OOP


- Class Declaration
- Class Expressions
- Constructor Method
- Getters and Setters
- Inheritance with `extends`
- Static Methods
- Private Properties and Methods (using `#`)
Mastering the Art of JavaScript with Krishna Bokefod

13. Modules and Package Management


- ES6 Modules* (`import`, `export`)
- Default Exports vs Named Exports
- CommonJS Modules (`require`, `module.exports`)
- Package Management with NPM
- Bundlers (Webpack, Vite, Parcel)

14. Advanced Topics


- Closures
- Currying
- Memoization
- Debouncing and Throttling
- Hoisting
- Event Loop
- Microtasks and Macrotasks
- Weak References
- Proxy and Reflect API

15. Testing and Debugging


- Console Methods (`console.log()`, `console.error()`,
`console.table()`)
- Debugger Statement
- Unit Testing Frameworks (Jest, Mocha)
- TDD and BDD Concepts

16. JavaScript Patterns


- Module Pattern
- Singleton Pattern
- Observer Pattern
- Factory Pattern
Mastering the Art of JavaScript with Krishna Bokefod

- Prototype Pattern

17. Networking and APIs


- Fetch API
- XHR (XMLHttpRequest)
- AJAX Basics
- Handling JSON Data
- CORS (Cross-Origin Resource Sharing)
- WebSockets

18. State Management in JavaScript Frameworks


- Redux (actions, reducers, store, middleware)
- Context API in React
- State Hooks in React (`useState`, `useReducer`)

You might also like