/javascript-questions

A comprehensive collection of JavaScript questions and answers, covering various levels of difficulty and ES versions.

JavaScript Questions Repository

Welcome to the JavaScript Questions Repository! Below is a step-by-step guide to JavaScript and ECMAScript features. Whether you are a full beginner or an experienced developer, you will be provided with helpful information and practical examples to enhance your JavaScript skills.

This repository contains a set of learning files about JavaScript and different features of ECMAScript. Each file is in Markdown format, with a clear explanation of the concepts and features alongside useful examples. The originals have been taken from w3schools.com, I have reorganized it and added further explanation to those topics. Also, all contents have been translated into Persian (Farsi) and added to this repository to make it more convenient for usage.

برای دسترسی به محتوای فارسی، به فایل README-FA.md مراجعه کنید.

📚 Table of Contents

📘 JavaScript Topics

  • Basic Topics: Covers foundational JavaScript concepts like data types, variables, operators, conditionals, and loops.
  • Intermediate Topics: Delves into functions, arrays, objects, error handling, callbacks, promises, DOM, and BOM.
  • Advanced Topics: Explores OOP, memory management, advanced array and string methods, async/await, and module management.

🧩 ECMAScript Features

  • ES5 - 2009: Introduces "use strict", new methods for strings and arrays, and JSON handling.
  • ES6 - 2015: Features `let`, `const`, arrow functions, destructuring, classes, promises, and more.
  • ES7 - 2016: Adds exponentiation operators and the `includes` method for arrays.
  • ES8 - 2017: Introduces string padding, object methods, async/await, and trailing commas.
  • ES9 - 2018: Focuses on asynchronous iteration, new promise methods, object rest properties, and regex enhancements.
  • ES10 - 2019: Adds `trimStart`, `trimEnd`, `Object.fromEntries`, flat and flatMap methods, and optional catch binding.
  • ES11 - 2020: Introduces BigInt, `matchAll`, nullish coalescing, and optional chaining.
  • ES12 - 2021: Adds `Promise.any`, `replaceAll`, and numeric separators.
  • ES13 - 2022: Features `at` methods for arrays and strings, the `d` flag in regex, and `Object.hasOwn`.
  • ES14 - 2023: Introduces `findLast`, `findLastIndex`, and safe array methods.
  • ES15 - 2024: Covers new grouping methods and Temporal API features.

📘 JavaScript Topics

Basic Topics

View File

  • Introduction to JavaScript
  • Data Types and Variables
  • Operators and Expressions
  • Conditional Structures
  • Loops

Intermediate Topics

View File

  • Functions and Variable Scope
  • Working with Arrays and Objects
  • Error Handling
  • Understanding Callbacks and Promises
  • Introduction to DOM and BOM

Advanced Topics

View File

  • Object-Oriented Programming
  • Memory Management and Optimization
  • Advanced Methods for Arrays and Strings
  • Using `async/await`
  • Concepts of Modularity and Module Management

🧩 ECMAScript Features

ES5 - 2009 Topics

View File

ES6 - 2015 Topics

View File

ES7 - 2016 Topics

View File

ES8 - 2017 Topics

View File

ES9 - 2018 Topics

View File

ES10 - 2019 Topics

View File

ES11 - 2020 Topics

View File

ES12 - 2021 Topics

View File

ES13 - 2022 Topics

View File

ES14 - 2023 Topics

View File

ES15 - 2024 Topics

View File