S SmartDocs

Programming Languages

Tutorials on Python, C, C++, Java, JavaScript, TypeScript, Go, R and Haskell — from beginner syntax to advanced techniques.

JavaScript Updated 2026-02-03

Lesson 10: Mini Project - GitHub Profile Finder

By the end of this lesson, you will be able to: Build a complete GitHub profile finder application Use GitHub API with modern JavaScript features Implement advanced async/await patterns Apply all ES6+ features learned in

Read article →
JavaScript Updated 2026-02-03

Lesson 2: Default Parameters & Optional Chaining

By the end of this lesson, you will be able to: Use default parameters in functions Implement optional chaining for safe property access Use nullish coalescing operator Handle undefined/null values gracefully Write more

Read article →
JavaScript Updated 2026-02-03

Lesson 3: Promises & Async/Await Patterns

By the end of this lesson, you will be able to: Use advanced Promise methods (allSettled, any, race) Implement proper async/await error handling Execute promises in parallel vs sequential Create reusable async utilities

Read article →
JavaScript Updated 2026-02-03

Lesson 4: Iterators & Generators

By the end of this lesson, you will be able to: Understand iterator protocol and iterable objects Create custom iterators using Symbol.iterator Use generator functions with yield Implement lazy evaluation with generators

Read article →
JavaScript Updated 2026-02-03

Lesson 5: Map, Set, WeakMap, WeakSet

By the end of this lesson, you will be able to: Use Map for key-value pairs with any key type Use Set for unique value collections Understand WeakMap and WeakSet for memory management Choose the right collection type for

Read article →
JavaScript Updated 2026-02-03

Lesson 6: Symbols and Metadata

By the end of this lesson, you will be able to: Understand what symbols are and why they're useful Create and use symbols as unique identifiers Use well-known symbols (Symbol.iterator, Symbol.toPrimitive) Implement symbo

Read article →
JavaScript Updated 2026-02-03

Lesson 7: Modules with Webpack / Vite

By the end of this lesson, you will be able to: Set up Webpack for modern JavaScript development Configure Vite for fast development Bundle modules for production Use modern build tools effectively Optimize bundle size a

Read article →
JavaScript Updated 2026-02-03

Lesson 8: Transpiling with Babel

By the end of this lesson, you will be able to: Configure Babel for JavaScript transpilation Use Babel presets and plugins Transpile modern JavaScript to older versions Set up Babel with different environments Understand

Read article →
JavaScript Updated 2026-02-03

Lesson 9: Error Handling Patterns

By the end of this lesson, you will be able to: Implement comprehensive error handling strategies Create custom error classes Use error boundaries in applications Handle errors in async operations Build robust error repo

Read article →
JavaScript Updated 2026-02-03

Module 5: Browser APIs & UI Development

Goal: Interact with the browser environment and build advanced UI features.

Read article →
JavaScript Updated 2026-02-03

Lesson 1: Window, Navigator, History APIs

By the end of this lesson, you will be able to: Use Window API for browser window management Access device information with Navigator API Control browser history with History API Detect user agent and device capabilities

Read article →
JavaScript Updated 2026-02-03

Lesson 10: Mini Project - Voice Note App

By the end of this lesson, you will be able to: Build a complete voice note application Integrate Speech Recognition API for voice input Use Text-to-Speech API for audio playback Implement note management and storage Han

Read article →
JavaScript Updated 2026-02-03

Lesson 2: Geolocation API

By the end of this lesson, you will be able to: Request and handle user location permissions Get current position with different accuracy levels Watch position changes for real-time tracking Calculate distances between c

Read article →
JavaScript Updated 2026-02-03

Lesson 3: Canvas API

By the end of this lesson, you will be able to: Create and configure HTML5 Canvas elements Draw basic shapes (lines, rectangles, circles) Apply colors, gradients, and patterns Handle mouse and touch events for drawing Cr

Read article →
JavaScript Updated 2026-02-03

Lesson 4: FileReader API

By the end of this lesson, you will be able to: Read files from user input Handle different file types (text, images, JSON) Preview images before upload Process file content asynchronously Handle file upload errors Creat

Read article →
JavaScript Updated 2026-02-03

Lesson 5: Clipboard API

By the end of this lesson, you will be able to: Copy text to clipboard programmatically Read text from clipboard Handle clipboard permissions Copy images and other data types Implement copy/paste functionality Create cli

Read article →
JavaScript Updated 2026-02-03

Lesson 6: Speech Recognition API

By the end of this lesson, you will be able to: Implement speech recognition in web applications Handle speech recognition events and results Configure recognition options and languages Process continuous speech input Ha

Read article →
JavaScript Updated 2026-02-03

Lesson 7: Notifications API

By the end of this lesson, you will be able to: Request notification permissions from users Send browser notifications Handle notification events (click, close, error) Create rich notifications with icons and actions Man

Read article →
JavaScript Updated 2026-02-03

Lesson 8: Animations with requestAnimationFrame

By the end of this lesson, you will be able to: Use requestAnimationFrame for smooth animations Create CSS and JavaScript animations Implement animation loops and timing Handle animation performance and optimization Crea

Read article →
JavaScript Updated 2026-02-03

Lesson 9: Mini Project - Drawing Pad App

By the end of this lesson, you will be able to: Build a complete drawing pad application Integrate Canvas API with touch and mouse events Implement multiple drawing tools and brushes Add color picker and brush size contr

Read article →
JavaScript Updated 2026-02-03

Module 6: Node.js & Backend Basics

Goal: Use JavaScript beyond the browser, create APIs and backend services.

Read article →
JavaScript Updated 2026-02-03

Lesson 1: Intro to Node.js

By the end of this lesson, you will be able to: Understand what Node.js is and how it works Set up Node.js development environment Use Node.js modules and require statements Work with built-in modules (fs, path, os) Run

Read article →
JavaScript Updated 2026-02-03

Lesson 10: Mini Project - Simple Blog API

By the end of this lesson, you will be able to: Build a complete blog API with Express.js Implement user authentication and authorization Create CRUD operations for posts and comments Handle file uploads for images Imple

Read article →
JavaScript Updated 2026-02-03

Lesson 2: Package Management

By the end of this lesson, you will be able to: Use npm for package management Create and configure package.json Install and manage dependencies Use npm scripts for automation Understand semantic versioning Publish packa

Read article →