---
source_hash: "30846089"
title: "Module 1: JavaScript ES6+ Fundamentals"
weight: 300
description: "As a PHP developer, you already know programming. However, modern JavaScript (since ES6/2015) introduces concepts and syntaxes that differ significantly from PHP."
category: "Training"
type: "training"
---

# Module 1: JavaScript ES6+ Fundamentals

> Before tackling React, it is essential to master modern JavaScript (ES6+). This module covers the features you will use daily.

## Why This Module?

As a PHP developer, you already know programming. However, modern JavaScript (since ES6/2015) introduces concepts and syntaxes that differ significantly from PHP.

React heavily uses these features. Without mastering them, React code will seem cryptic to you.

## Chapters

| # | Chapter | Content |  |
| --- | --- | --- | --- |
| 1 | [Variables and Scope](/training/module1-javascript-es6/variables-scope) | `const`, `let`, destructuring, spread operator |
| 2 | [Functions](/training/module1-javascript-es6/fonctions) | Arrow functions, default parameters, callbacks |
| 3 | [Asynchronous](/training/module1-javascript-es6/asynchrone) | Promises, async/await, error handling |
| 4 | [ES6 Modules](/training/module1-javascript-es6/modules-es6) | import/export, code organization |

## Module Objectives

By the end of this module, you will be able to:

- Declare variables with `const` and `let`
- Use destructuring to extract values
- Write arrow functions
- Handle asynchronous code with async/await
- Organize your code into modules

## Quick Comparison PHP vs JavaScript

| Concept | PHP | JavaScript ES6+ |
| --- | --- | --- |
| Constant variable | `const X = 1;` | `const x = 1;` |
| Modifiable variable | `$x = 1;` | `let x = 1;` |
| Associative array | `['a' => 1]` | `{ a: 1 }` (object) |
| Anonymous function | `function($x) { }` | `(x) => { }` |
| Interpolation | `"Hello $name"` | `` `Hello ${name}` `` |
| Null coalescing | `$x ?? 'default'` | `x ?? 'default'` |

## Estimated Time

Approximately 2-3 hours to go through this module and complete the exercises.

[Start: Variables and Scope ->](/training/module1-javascript-es6/variables-scope)
