AbdulElahGwaith's picture
Upload folder using huggingface_hub
780c9fe verified
---
title: JavaScript Guide
slug: Web/JavaScript/Guide
page-type: guide
sidebar: jssidebar
---
The JavaScript Guide shows you how to use [JavaScript](/en-US/docs/Web/JavaScript) and gives an overview of the language. If you need exhaustive information about a language feature, have a look at the [JavaScript reference](/en-US/docs/Web/JavaScript/Reference).
This Guide is divided into the following chapters.
## Introduction
Overview: [Introduction](/en-US/docs/Web/JavaScript/Guide/Introduction)
- [About this guide](/en-US/docs/Web/JavaScript/Guide/Introduction#where_to_find_javascript_information)
- [About JavaScript](/en-US/docs/Web/JavaScript/Guide/Introduction#what_is_javascript)
- [JavaScript and Java](/en-US/docs/Web/JavaScript/Guide/Introduction#javascript_and_java)
- [ECMAScript](/en-US/docs/Web/JavaScript/Guide/Introduction#javascript_and_the_ecmascript_specification)
- [Tools](/en-US/docs/Web/JavaScript/Guide/Introduction#getting_started_with_javascript)
- [What's next](/en-US/docs/Web/JavaScript/Guide/Introduction#whats_next)
## Grammar and types
Overview: [Grammar and types](/en-US/docs/Web/JavaScript/Guide/Grammar_and_types)
- [Basic syntax & comments](/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#basics)
- [Declarations](/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#declarations)
- [Variable scope](/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#variable_scope)
- [Variable hoisting](/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#variable_hoisting)
- [Data structures and types](/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#data_structures_and_types)
- [Literals](/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#literals)
## Control flow and error handling
Overview: [Control flow and error handling](/en-US/docs/Web/JavaScript/Guide/Control_flow_and_error_handling)
- [`if...else`](/en-US/docs/Web/JavaScript/Guide/Control_flow_and_error_handling#if...else_statement)
- [`switch`](/en-US/docs/Web/JavaScript/Guide/Control_flow_and_error_handling#switch_statement)
- [`try`/`catch`/`throw`](/en-US/docs/Web/JavaScript/Guide/Control_flow_and_error_handling#exception_handling_statements)
- [Error objects](/en-US/docs/Web/JavaScript/Guide/Control_flow_and_error_handling#utilizing_error_objects)
## Loops and iteration
Overview: [Loops and iteration](/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration)
- [`for`](/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration#for_statement)
- [`while`](/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration#while_statement)
- [`do...while`](/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration#do...while_statement)
- [`continue`](/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration#continue_statement)
- [`break`](/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration#break_statement)
- [`for...in`](/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration#for...in_statement)
- [`for...of`](/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration#for...of_statement)
## Functions
Overview: [Functions](/en-US/docs/Web/JavaScript/Guide/Functions)
- [Defining functions](/en-US/docs/Web/JavaScript/Guide/Functions#defining_functions)
- [Calling functions](/en-US/docs/Web/JavaScript/Guide/Functions#calling_functions)
- [Function scopes and closures](/en-US/docs/Web/JavaScript/Guide/Functions#function_scopes_and_closures)
- [Arguments](/en-US/docs/Web/JavaScript/Guide/Functions#using_the_arguments_object) & [parameters](/en-US/docs/Web/JavaScript/Guide/Functions#function_parameters)
- [Arrow functions](/en-US/docs/Web/JavaScript/Guide/Functions#arrow_functions)
## Expressions and operators
Overview: [Expressions and operators](/en-US/docs/Web/JavaScript/Guide/Expressions_and_operators)
- [Assignment](/en-US/docs/Web/JavaScript/Guide/Expressions_and_operators#assignment_operators) & [Comparisons](/en-US/docs/Web/JavaScript/Guide/Expressions_and_operators#comparison_operators)
- [Arithmetic operators](/en-US/docs/Web/JavaScript/Guide/Expressions_and_operators#arithmetic_operators)
- [Bitwise](/en-US/docs/Web/JavaScript/Guide/Expressions_and_operators#bitwise_operators) & [logical operators](/en-US/docs/Web/JavaScript/Guide/Expressions_and_operators#logical_operators)
- [Conditional (ternary) operator](/en-US/docs/Web/JavaScript/Guide/Expressions_and_operators#conditional_ternary_operator)
## Numbers and strings
Overview: [Numbers and strings](/en-US/docs/Web/JavaScript/Guide/Numbers_and_strings)
- [Numbers](/en-US/docs/Web/JavaScript/Guide/Numbers_and_strings#numbers)
- [`Number` object](/en-US/docs/Web/JavaScript/Guide/Numbers_and_strings#number_object)
- [`Math` object](/en-US/docs/Web/JavaScript/Guide/Numbers_and_strings#math_object)
- [Strings](/en-US/docs/Web/JavaScript/Guide/Numbers_and_strings#strings)
- [`String` object](/en-US/docs/Web/JavaScript/Guide/Numbers_and_strings#string_object)
- [Template literals](/en-US/docs/Web/JavaScript/Guide/Numbers_and_strings#template_literals)
## Representing dates & times
Overview: [Representing dates & times](/en-US/docs/Web/JavaScript/Guide/Representing_dates_times)
- [`Date` object](/en-US/docs/Web/JavaScript/Guide/Representing_dates_times#date_object)
## Regular expressions
Overview: [Regular expressions](/en-US/docs/Web/JavaScript/Guide/Regular_expressions)
- [Creating a regular expression](/en-US/docs/Web/JavaScript/Guide/Regular_expressions#creating_a_regular_expression)
- [Writing a regular expression pattern](/en-US/docs/Web/JavaScript/Guide/Regular_expressions#writing_a_regular_expression_pattern)
- [Assertions](/en-US/docs/Web/JavaScript/Guide/Regular_expressions/Assertions)
- [Character classes](/en-US/docs/Web/JavaScript/Guide/Regular_expressions/Character_classes)
- [Groups and backreferences](/en-US/docs/Web/JavaScript/Guide/Regular_expressions/Groups_and_backreferences)
- [Quantifiers](/en-US/docs/Web/JavaScript/Guide/Regular_expressions/Quantifiers)
## Indexed collections
Overview: [Indexed collections](/en-US/docs/Web/JavaScript/Guide/Indexed_collections)
## Keyed collections
Overview: [Keyed collections](/en-US/docs/Web/JavaScript/Guide/Keyed_collections)
- [`Map`](/en-US/docs/Web/JavaScript/Guide/Keyed_collections#map_object)
- [`WeakMap`](/en-US/docs/Web/JavaScript/Guide/Keyed_collections#weakmap_object)
- [`Set`](/en-US/docs/Web/JavaScript/Guide/Keyed_collections#set_object)
- [`WeakSet`](/en-US/docs/Web/JavaScript/Guide/Keyed_collections#weakset_object)
## Working with objects
Overview: [Working with objects](/en-US/docs/Web/JavaScript/Guide/Working_with_objects)
- [Objects and properties](/en-US/docs/Web/JavaScript/Guide/Working_with_objects#objects_and_properties)
- [Creating objects](/en-US/docs/Web/JavaScript/Guide/Working_with_objects#creating_new_objects)
- [Defining methods](/en-US/docs/Web/JavaScript/Guide/Working_with_objects#defining_methods)
- [Getter and setter](/en-US/docs/Web/JavaScript/Guide/Working_with_objects#defining_getters_and_setters)
## Using classes
Overview: [Using classes](/en-US/docs/Web/JavaScript/Guide/Using_classes)
- [Declaring a class](/en-US/docs/Web/JavaScript/Guide/Using_classes#declaring_a_class)
- [Various class features](/en-US/docs/Web/JavaScript/Guide/Using_classes#constructor)
- [Extends and inheritance](/en-US/docs/Web/JavaScript/Guide/Using_classes#extends_and_inheritance)
- [Why classes?](/en-US/docs/Web/JavaScript/Guide/Using_classes#why_classes)
## Promises
Overview: [Promises](/en-US/docs/Web/JavaScript/Guide/Using_promises)
- [Guarantees](/en-US/docs/Web/JavaScript/Guide/Using_promises#guarantees)
- [Chaining](/en-US/docs/Web/JavaScript/Guide/Using_promises#chaining)
- [Error handling](/en-US/docs/Web/JavaScript/Guide/Using_promises#error_handling)
- [Composition](/en-US/docs/Web/JavaScript/Guide/Using_promises#composition)
- [Timing](/en-US/docs/Web/JavaScript/Guide/Using_promises#timing)
## Typed arrays
Overview: [Typed arrays](/en-US/docs/Web/JavaScript/Guide/Typed_arrays)
## Iterators and generators
Overview: [Iterators and generators](/en-US/docs/Web/JavaScript/Guide/Iterators_and_generators)
- [Iterators](/en-US/docs/Web/JavaScript/Guide/Iterators_and_generators#iterators)
- [Iterables](/en-US/docs/Web/JavaScript/Guide/Iterators_and_generators#iterables)
- [Generators](/en-US/docs/Web/JavaScript/Guide/Iterators_and_generators#generator_functions)
## Resource management
Overview: [JavaScript resource management](/en-US/docs/Web/JavaScript/Guide/Resource_management)
- [The `using` and `await using` declarations](/en-US/docs/Web/JavaScript/Guide/Resource_management#the_using_and_await_using_declarations)
- [The `DisposableStack` and `AsyncDisposableStack` objects](/en-US/docs/Web/JavaScript/Guide/Resource_management#the_disposablestack_and_asyncdisposablestack_objects)
- [Error handling](/en-US/docs/Web/JavaScript/Guide/Resource_management#error_handling)
## Internationalization
Overview: [Internationalization](/en-US/docs/Web/JavaScript/Guide/Internationalization)
- [Date and time formatting](/en-US/docs/Web/JavaScript/Guide/Internationalization#date_and_time_formatting)
- [Number formatting](/en-US/docs/Web/JavaScript/Guide/Internationalization#number_formatting)
- [Collation](/en-US/docs/Web/JavaScript/Guide/Internationalization#collation)
## JavaScript modules
Overview: [JavaScript modules](/en-US/docs/Web/JavaScript/Guide/Modules)
- [Exporting](/en-US/docs/Web/JavaScript/Guide/Modules#exporting_module_features)
- [Importing](/en-US/docs/Web/JavaScript/Guide/Modules#importing_features_into_your_script)
- [Default exports](/en-US/docs/Web/JavaScript/Guide/Modules#default_exports_versus_named_exports)
- [Renaming features](/en-US/docs/Web/JavaScript/Guide/Modules#renaming_imports_and_exports)
- [Aggregating modules](/en-US/docs/Web/JavaScript/Guide/Modules#aggregating_modules)
- [Dynamic module loading](/en-US/docs/Web/JavaScript/Guide/Modules#dynamic_module_loading)
## Advanced topics
After you have learned all fundamental features of JavaScript, you can explore some more niche features, or dive deeper into the language's mechanisms and concepts.
- [Language overview](/en-US/docs/Web/JavaScript/Guide/Language_overview)
- [Data structures](/en-US/docs/Web/JavaScript/Guide/Data_structures)
- [Enumerability and ownership of properties](/en-US/docs/Web/JavaScript/Guide/Enumerability_and_ownership_of_properties)
- [Inheritance and the prototype chain](/en-US/docs/Web/JavaScript/Guide/Inheritance_and_the_prototype_chain)
- [Equality comparisons and sameness](/en-US/docs/Web/JavaScript/Guide/Equality_comparisons_and_sameness)
- [Closures](/en-US/docs/Web/JavaScript/Guide/Closures)
- [Meta programming](/en-US/docs/Web/JavaScript/Guide/Meta_programming)
- [Memory management](/en-US/docs/Web/JavaScript/Guide/Memory_management)
{{Next("Web/JavaScript/Guide/Introduction")}}