/alx-backend-javascript

This repository contains a comprehensive collection of tasks focusing on mastering ES6 Promises in JavaScript. Dive into practical exercises covering Promise handling, asynchronous operations, error management, and more. Strengthen your JavaScript skills and explore the power of Promises with this hands-on project.

Primary LanguageJavaScript

ES6 JavaScript Basics & Promises Project

ES6 JavaScript Basics Project

Description

This project is a comprehensive set of exercises aimed at enhancing proficiency in ES6 JavaScript concepts and practices. It consists of a series of tasks focusing on various ES6 features and syntax. Learners will explore and implement modern JavaScript practices through these exercises.

Curriculum

The project is structured around the following key concepts:

  • Modern JavaScript
  • ECMAScript 6 (ES2015)
  • Statements and declarations
  • Arrow functions
  • Default parameters
  • Rest parameter
  • Spread syntax
  • Template literals
  • Object creation and properties in ES6
  • Iterators and for-of loops

Resources

Learners are encouraged to refer to the following resources:

  • ECMAScript 6 - ECMAScript 2015
  • Statements and declarations
  • Arrow functions
  • Default parameters
  • Rest parameter
  • JavaScript ES6 — Iterables and Iterators

Requirements and Setup

Environment

  • Ubuntu 18.04 LTS
  • NodeJS 12.11.x

Editors

  • vi, vim, emacs, Visual Studio Code

File Formatting

All files should end with a new line.

Testing Framework

Jest Testing Framework

Linter

ESLint along with specific rules provided in the configuration files.

Setup Instructions

  1. Install NodeJS 12.11.x using the specified commands.
  2. Install Jest, Babel, and ESLint using the supplied package.json and npm install.

Configuration Files

  • package.json: Contains scripts for linting, development, testing, and ESLint configurations.
  • babel.config.js: Configures Babel presets targeting the current NodeJS version.
  • .eslintrc.js: Defines linting rules, environments, and overrides for JavaScript files.

Tasks Overview

The project includes multiple tasks focusing on various ES6 concepts, each accompanied by examples, execution instructions, and repository references.

Example Task Summary:

  1. Const or let?: Modify functions to use const and let appropriately.
  2. Block Scope: Prevent variable overwriting inside conditional blocks.
  3. Arrow Functions: Rewrite functions using arrow function syntax.
  4. ... [List continues with brief summaries of each task]

ES6 Promises Project

Curriculum Overview

The repository contains a series of tasks aimed at learning and practicing ES6 Promises in JavaScript. The tasks cover various aspects of Promise handling, error management, asynchronous operations using async and await, and more.

Learning Objectives

  • Understand Promises, their creation, and usage
  • Explore methods such as then, catch, async, and await
  • Practice error handling within Promises

Resources

The resources section includes links to articles and tutorials on Promises in JavaScript. These resources serve as references to aid in understanding and implementing Promise concepts effectively.

Requirements and Setup

To run and execute the tasks in this project, ensure the following:

  • NodeJS 12.11.x installed (on Ubuntu 18.04 LTS)
  • Allowed editors: vi, vim, emacs, Visual Studio Code
  • Code files should use the .js extension
  • Testing performed using Jest
  • Code verification against lint using ESLint

Detailed setup instructions, including installing NodeJS, Jest, Babel, and ESLint, are provided in the project.

Tasks Overview

Each task is located in a designated directory within the repository and contains:

  • Detailed task descriptions
  • Sample code snippets
  • Execution instructions
  • Links to the respective files on GitHub

List of Tasks

  1. Keep every promise you make and only make promises you can keep
  2. Don't make a promise...if you know you can't keep it
  3. Catch me if you can!
  4. Handle multiple successful promises
  5. Simple promise
  6. Reject the promises
  7. Handle multiple promises
  8. Load balancer
  9. Throw error / try catch

This combined README.md file gives an overview of both projects, their objectives, resources, setup instructions, and task descriptions. Please modify and customize it according to the specific details, instructions, and links pertaining to your project's repository.

Enjoy exploring and mastering ES6 JavaScript concepts through these engaging tasks!


Copyright © 2024 ALX, All rights reserved.