After Width: | Height: | Size: 85 KiB |
After Width: | Height: | Size: 1.3 MiB |
After Width: | Height: | Size: 338 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 73 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 76 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 76 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 76 KiB |
After Width: | Height: | Size: 76 KiB |
After Width: | Height: | Size: 76 KiB |
After Width: | Height: | Size: 76 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 76 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 76 KiB |
After Width: | Height: | Size: 76 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 509 KiB |
After Width: | Height: | Size: 81 KiB |
After Width: | Height: | Size: 189 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 166 KiB |
After Width: | Height: | Size: 167 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 207 KiB |
After Width: | Height: | Size: 115 KiB |
After Width: | Height: | Size: 126 KiB |
After Width: | Height: | Size: 234 KiB |
After Width: | Height: | Size: 121 KiB |
After Width: | Height: | Size: 211 KiB |
After Width: | Height: | Size: 234 KiB |
After Width: | Height: | Size: 1.4 MiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 1.6 MiB |
After Width: | Height: | Size: 3.7 MiB |
After Width: | Height: | Size: 2.6 MiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 536 KiB |
After Width: | Height: | Size: 123 KiB |
After Width: | Height: | Size: 866 KiB |
After Width: | Height: | Size: 2.6 MiB |
After Width: | Height: | Size: 315 KiB |
After Width: | Height: | Size: 434 KiB |
After Width: | Height: | Size: 3.0 MiB |
After Width: | Height: | Size: 15 MiB |
After Width: | Height: | Size: 1.7 MiB |
After Width: | Height: | Size: 373 KiB |
After Width: | Height: | Size: 22 MiB |
After Width: | Height: | Size: 4.1 MiB |
After Width: | Height: | Size: 100 KiB |
After Width: | Height: | Size: 64 KiB |
After Width: | Height: | Size: 327 KiB |
After Width: | Height: | Size: 81 KiB |
After Width: | Height: | Size: 2.6 MiB |
After Width: | Height: | Size: 526 KiB |
After Width: | Height: | Size: 83 KiB |
After Width: | Height: | Size: 335 KiB |
After Width: | Height: | Size: 233 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 79 KiB |
After Width: | Height: | Size: 284 KiB |
After Width: | Height: | Size: 242 KiB |
After Width: | Height: | Size: 183 KiB |
@ -0,0 +1,683 @@
|
|||||||
|
# 30 jours de JavaScript
|
||||||
|
|
||||||
|
| # Jours | Tables des matières |
|
||||||
|
| ----- | :-------------------------------------------------------------------------------------------------------------------------------------------------: |
|
||||||
|
| 01 | [Introduction](./readMe.md) |
|
||||||
|
| 02 | [Les types de données](./02_Day_Data_types/02_day_data_types.md) |
|
||||||
|
| 03 | [Booléens, Opérateurs, Date](./03_Day_Booleans_operators_date/03_booleans_operators_date.md) |
|
||||||
|
| 04 | [Les conditions](./04_Day_Conditionals/04_day_conditionals.md) |
|
||||||
|
| 05 | [Les tableaux (Arrays)](./05_Day_Arrays/05_day_arrays.md) |
|
||||||
|
| 06 | [Les boucles](./06_Day_Loops/06_day_loops.md) |
|
||||||
|
| 07 | [Les fonctions](./07_Day_Functions/07_day_functions.md) |
|
||||||
|
| 08 | [Les objets](./08_Day_Objects/08_day_objects.md) |
|
||||||
|
| 09 | [Les fonctions d'ordre supérieur](./09_Day_Higher_order_functions/09_day_higher_order_functions.md) |
|
||||||
|
| 10 | [Set et Map](./10_Day_Sets_and_Maps/10_day_Sets_and_Maps.md) |
|
||||||
|
| 11 | [La déstructuration et propagation](./11_Day_Destructuring_and_spreading/11_day_destructuring_and_spreading.md) |
|
||||||
|
| 12 | [Les expressions régulières](./12_Day_Regular_expressions/12_day_regular_expressions.md) |
|
||||||
|
| 13 | [Les méthodes de objet console. ](./13_Day_Console_object_methods/13_day_console_object_methods.md) |
|
||||||
|
| 14 | [Gestion des erreurs](./14_Day_Error_handling/14_day_error_handling.md) |
|
||||||
|
| 15 | [Les classes](./15_Day_Classes/15_day_classes.md) |
|
||||||
|
| 16 | [JSON](./16_Day_JSON/16_day_json.md) |
|
||||||
|
| 17 | [Stockages Web](./17_Day_Web_storages/17_day_web_storages.md) |
|
||||||
|
| 18 | [Les promesses](./18_Day_Promises/18_day_promises.md) |
|
||||||
|
| 19 | [Fermeture (Closure)](./19_Day_Closures/19_day_closures.md) |
|
||||||
|
| 20 | [Écrire un code propre](./20_Day_Writing_clean_codes/20_day_writing_clean_codes.md) |
|
||||||
|
| 21 | [DOM](./21_Day_DOM/21_day_dom.md) |
|
||||||
|
| 22 | [Manipulation de l'objet DOM](./22_Day_Manipulating_DOM_object/22_day_manipulating_DOM_object.md) |
|
||||||
|
| 23 | [Écouteurs d'événements](./23_Day_Event_listeners/23_day_event_listeners.md) |
|
||||||
|
| 24 | [Mini projet : Système solaire](./24_Day_Project_solar_system/24_day_project_solar_system.md) |
|
||||||
|
| 25 | [Mini projet : Visualisation des données sur les pays du monde 1](./25_Day_World_countries_data_visualization_1/25_day_world_countries_data_visualization_1.md) |
|
||||||
|
| 26 | [Mini projet : Visualisation des données sur les pays du monde 2](./26_Day_World_countries_data_visualization_2/26_day_world_countries_data_visualization_2.md) |
|
||||||
|
| 27 | [Mini Projet: Portfolio](./27_Day_Mini_project_portfolio/27_day_mini_project_portfolio.md) |
|
||||||
|
| 28 | [Mini Projet: Tableau de bord](./28_Day_Mini_project_leaderboard/28_day_mini_project_leaderboard.md) |
|
||||||
|
| 29 | [Mini Projet: Animation des caractère ](./29_Day_Mini_project_animating_characters/29_day_mini_project_animating_characters.md) |
|
||||||
|
| 30 | [Les projets finals](./30_Day_Mini_project_final/30_day_mini_project_final.md) |
|
||||||
|
|
||||||
|
🧡🧡🧡 BON CODAGE 🧡🧡🧡
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<small>Soutenir <strong>l'auteur </strong> pour qu'il crée davantage de supports pédagogiques</small> <br />
|
||||||
|
<a href = "https://www.paypal.me/asabeneh"><img src='./images/paypal_lg.png' alt='Paypal Logo' style="width:10%"/></a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
<h1> 30 jours de JavaScript: Introduction</h1>
|
||||||
|
<a class="header-badge" target="_blank" href="https://www.linkedin.com/in/asabeneh/">
|
||||||
|
<img src="https://img.shields.io/badge/style--5eba00.svg?label=LinkedIn&logo=linkedin&style=social">
|
||||||
|
</a>
|
||||||
|
<a class="header-badge" target="_blank" href="https://twitter.com/Asabeneh">
|
||||||
|
<img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/asabeneh?style=social">
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<sub>Auteur:
|
||||||
|
<a href="https://www.linkedin.com/in/asabeneh/" target="_blank">Asabeneh Yetayeh</a><br>
|
||||||
|
<small> Janvier, 2020</small>
|
||||||
|
</sub>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
|
||||||
|
🇬🇧 [English](./readMe.md)
|
||||||
|
🇫🇷 [French](./French/readMe.md)
|
||||||
|
🇪🇸 [Spanish](./Spanish/readme.md)
|
||||||
|
🇮🇹 [Italian](./Italian/readMe.md)Setup
|
||||||
|
🇷🇺 [Russian](./RU/README.md)
|
||||||
|
🇹🇷 [Turkish](./Turkish/readMe.md)
|
||||||
|
🇦🇿 [Azerbaijan](./Azerbaijani/readMe.md)
|
||||||
|
🇰🇷 [Korean](./Korea/README.md)
|
||||||
|
🇻🇳 [Vietnamese](./Vietnamese/README.md)
|
||||||
|
🇵🇱 [Polish](./Polish/readMe.md)
|
||||||
|
🇧🇷 [Portuguese](./Portuguese/readMe.md)
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
[Jour 2 >>](./02_Day_Data_types/02_day_data_types.md)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- [30 jours de JavaScript](#30-jours-de-javascript)
|
||||||
|
- [📔 Jour 1](#-jour-1)
|
||||||
|
- [Introduction](#introduction)
|
||||||
|
- [Les éxigences](#les-éxigences)
|
||||||
|
- [Configuration](#configuration)
|
||||||
|
- [Installation de Node.js](#installation-de--nodejs)
|
||||||
|
- [Navigateur](#navigateur)
|
||||||
|
- [Installation de Google Chrome](#installation-de--google-chrome)
|
||||||
|
- [Ouverture de la console Google Chrome](#ouverture-de-la-console-google-chrome)
|
||||||
|
- [Écrire du code sur la console du navigateur](#écrire-du-code-sur-la-console-du-navigateur)
|
||||||
|
- [Console.log](#consolelog)
|
||||||
|
- [Console.log avec plusieurs arguments](#consolelog-avec-plusieurs-arguments)
|
||||||
|
- [Comments](#comments)
|
||||||
|
- [Syntaxe](#syntaxe)
|
||||||
|
- [AArithmétique](#aarithmétique)
|
||||||
|
- [Editeur de code](#editeur-de-code)
|
||||||
|
- [Installation de Visual Studio Code](#installation-de--visual-studio-code)
|
||||||
|
- [Comment utiliser Visual Studio Code](#comment-utiliser-visual-studio-code)
|
||||||
|
- [Ajout de JavaScript à une page Web](#ajout-de-javascript-à-une-page-web)
|
||||||
|
- [Script en ligne](#script-en-ligne)
|
||||||
|
- [Script interne](#script-interne)
|
||||||
|
- [Script externe](#script-externe)
|
||||||
|
- [Multiple External Scripts](#multiple-external-scripts)
|
||||||
|
- [Introduction aux types de données](#introduction-aux-types-de-données)
|
||||||
|
- [Les nombres](#les-nombres)
|
||||||
|
- [Les chaîne de caractère](#les-chaîne-de-caractère)
|
||||||
|
- [Booléens](#booléens)
|
||||||
|
- [Indéfini(Undefined)](#indéfiniundefined)
|
||||||
|
- [Null](#null)
|
||||||
|
- [Vérification des types de données](#vérification-des-types-de-données)
|
||||||
|
- [Encore des commentaires](#encore-des-commentaires)
|
||||||
|
- [Variables](#variables)
|
||||||
|
- [💻 Day 1: Exercises](#-day-1-exercises)
|
||||||
|
|
||||||
|
# 📔 Jour 1
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
**Félicitations** en décidant de participer au défi des 30 jours de programmation JavaScript. Dans ce défi, vous apprendrez tout ce dont vous avez besoin pour être un programmeur JavaScript, et en général, tout le concept de la programmation. À la fin du défi, vous recevrez un certificat d'achèvement du défi de programmation 30DaysOfJavaScript. Si vous avez besoin d'aide ou si vous souhaitez aider d'autres personnes, vous pouvez rejoindre le groupe de discussion dédié. [groupe telegram ](https://t.me/ThirtyDaysOfJavaScript).
|
||||||
|
|
||||||
|
**30 jours de JavaScript** challenge est un guide pour les débutants et les développeurs avancés en JavaScript. Bienvenue à JavaScript. JavaScript est le langage du web. J'aime utiliser et enseigner JavaScript et j'espère que vous en ferez autant.
|
||||||
|
|
||||||
|
Dans ce défi JavaScript pas à pas, vous apprendrez JavaScript, le langage de programmation le plus populaire de l'histoire de l'humanité. JavaScript est utilisé **_pour ajouter de l'interactivité aux sites web, pour développer des applications mobiles, des applications de bureau, des jeux, etc._** et aujourd'hui, JavaScript peut être utilisé pour **la programmation côté serveur**, **_l'apprentissage automatique_** and **_l'intelligence artificielle _**.
|
||||||
|
|
||||||
|
**_JavaScript (JS)_** a gagné en popularité au cours des dernières années et est le langage de programmation le plus utilisé dans le monde.
|
||||||
|
depuis dix ans et est le langage de programmation le plus utilisé sur GitHub.
|
||||||
|
|
||||||
|
Ce défi est facile à lire, écrit dans un français facile, engageant, motivant et en même temps, il est très exigeant. Vous devez consacrer beaucoup de temps à la réalisation de ce défi. Si vous êtes un apprenant visuel, vous pouvez obtenir la leçon vidéo sur <a href="https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw"> Washera</a> Chaîne YouTube. Abonnez-vous à la chaîne, commentez et posez des questions sur les vidéos YouTube et soyez proactif, l'auteur finira par vous remarquer.
|
||||||
|
|
||||||
|
L'auteur aimerait connaître votre opinion sur le défi, partager l'auteur en exprimant vos pensées sur le défi 30 jours de JavaScript. Vous pouvez laisser votre témoignage sur cette page [link](https://testimonial-vdzd.onrender.com//)
|
||||||
|
|
||||||
|
## Les éxigences
|
||||||
|
|
||||||
|
No prior knowledge of programming is required to follow this challenge. You need only:
|
||||||
|
|
||||||
|
1. La motivation
|
||||||
|
2. Un ordinateur
|
||||||
|
3. La connexion internet
|
||||||
|
4. Un navigateur
|
||||||
|
5. Un editeur de code
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
I believe you have the motivation and a strong desire to be a developer, a computer and Internet. If you have those, then you have everything to get started.
|
||||||
|
|
||||||
|
### Installation de Node.js
|
||||||
|
|
||||||
|
Vous n'avez peut-être pas besoin de Node.js pour l'instant, mais vous pourriez en avoir besoin plus tard. Installer [node.js](https://nodejs.org/en/).
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Après le téléchargement, double-cliquez et installez
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Nous pouvons vérifier si le nœud est installé sur notre machine locale en ouvrant le terminal de notre appareil ou l'invite de commande.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
asabeneh $ node -v
|
||||||
|
v12.14.0
|
||||||
|
```
|
||||||
|
|
||||||
|
Lors de la création de ce didacticiel, j'utilisais Node version 12.14.0, mais maintenant la version recommandée de Node.js pour le téléchargement est v14.17.6, au moment où vous utilisez ce matériel, vous pouvez avoir une version Node.js supérieure.
|
||||||
|
### Navigateur
|
||||||
|
|
||||||
|
Il existe de nombreux navigateurs. Cependant, je recommande fortement Google Chrome.
|
||||||
|
|
||||||
|
#### Installation de Google Chrome
|
||||||
|
|
||||||
|
Installer [Google Chrome](https://www.google.com/chrome/) si vous n'en avez pas encore. Nous pouvons écrire du petit code JavaScript sur la console du navigateur, mais nous n'utilisons pas la console du navigateur pour développer des applications.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
#### Ouverture de la console Google Chrome
|
||||||
|
|
||||||
|
Vous pouvez ouvrir la console Google Chrome en cliquant sur trois points dans le coin supérieur droit du navigateur, en sélectionnant Plus d'outils -> Outils de développement ou en utilisant un raccourci clavier. Je préfère utiliser des raccourcis.
|
||||||
|

|
||||||
|
|
||||||
|
Pour ouvrir la console Chrome à l'aide d'un raccourci clavier.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
Mac
|
||||||
|
Command+Option+J
|
||||||
|
|
||||||
|
Windows/Linux:
|
||||||
|
Ctl+Shift+J
|
||||||
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Après avoir ouvert la console Google Chrome, essayez d'explorer les boutons marqués. Nous passerons la plupart du temps sur la console. La console est l'endroit où va votre code JavaScript. Le moteur Google Console V8 transforme votre code JavaScript en code machine. Écrivons un code JavaScript sur la console Google Chrome :
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
#### Écrire du code sur la console du navigateur
|
||||||
|
|
||||||
|
Nous pouvons écrire n'importe quel code JavaScript sur la console Google ou sur n'importe quelle console de navigateur. Cependant, pour ce défi, nous nous concentrons uniquement sur la console Google Chrome. Ouvrez la console en utilisant :
|
||||||
|
|
||||||
|
```sh
|
||||||
|
Mac
|
||||||
|
Command+Option+I
|
||||||
|
|
||||||
|
Windows:
|
||||||
|
Ctl+Shift+I
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Console.log
|
||||||
|
|
||||||
|
Pour écrire notre premier code JavaScript, nous avons utilisé une fonction intégrée **console.log()**. Nous avons passé un argument en tant que données d'entrée et la fonction affiche la sortie. Nous avons passé `'Hello, World'` acomme données d'entrée ou argument dans la fonction console.log().
|
||||||
|
|
||||||
|
```js
|
||||||
|
console.log('Hello, World!')
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Console.log avec plusieurs arguments
|
||||||
|
|
||||||
|
La fonction **`console.log()`** peut prendre plusieurs paramètres séparés par des virgules. La syntaxe ressemble à ceci:**`console.log(param1, param2, param3)`**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
```js
|
||||||
|
console.log('Hello', 'World', '!')
|
||||||
|
console.log('HAPPY', 'NEW', 'YEAR', 2020)
|
||||||
|
console.log('Welcome', 'to', 30, 'Days', 'Of', 'JavaScript')
|
||||||
|
```
|
||||||
|
|
||||||
|
Comme vous pouvez le voir dans l'extrait de code ci-dessus, _`console.log()`_ peut prendre plusieurs arguments..
|
||||||
|
|
||||||
|
Toutes nos félicitations! Vous avez écrit votre premier code JavaScript en utilisant _`console.log()`_.
|
||||||
|
|
||||||
|
##### Comments
|
||||||
|
|
||||||
|
Nous pouvons ajouter des commentaires à notre code. Les commentaires sont très importants pour rendre le code plus lisible et pour laisser des remarques dans notre code. JavaScript n'exécute pas la partie commentaire de notre code. En JavaScript, toute ligne de texte commençant par // en JavaScript est un commentaire, et tout ce qui est inclus comme cec `//` est également un commentaire.
|
||||||
|
|
||||||
|
|
||||||
|
**Example: Commentaire sur une seule lignet**
|
||||||
|
|
||||||
|
```js
|
||||||
|
// Ceci est le premier commentaire
|
||||||
|
// Voici le deuxième commentaire
|
||||||
|
// Je suis un commentaire d'une seule ligne
|
||||||
|
```
|
||||||
|
|
||||||
|
**Example: Commentaire multiligne**
|
||||||
|
|
||||||
|
```js
|
||||||
|
/*
|
||||||
|
Il s'agit d'un commentaire multiligne
|
||||||
|
Les commentaires multilignes peuvent prendre plusieurs lignes
|
||||||
|
JavaScript est le langage du web
|
||||||
|
*/
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Syntaxe
|
||||||
|
|
||||||
|
Les langages de programmation sont similaires aux langages humains. L'anglais ou d'autres langues utilisent des mots, des expressions, des phrases, des phrases composées et bien d'autres choses encore pour transmettre un message significatif. En anglais, le terme syntaxe signifie _la disposition des mots et des phrases pour créer des phrases bien formées dans une langue_. La définition technique de la syntaxe est la structure des énoncés dans un langage informatique. Les langages de programmation ont une syntaxe. JavaScript est un langage de programmation et, comme les autres langages de programmation, il possède sa propre syntaxe. Si nous n'écrivons pas une syntaxe que JavaScript comprend, il produira différents types d'erreurs. Nous étudierons les différents types d'erreurs JavaScript plus tard. Pour l'instant, voyons les erreurs de syntaxe.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
J'ai fait une erreur délibérée. En conséquence, la console signale des erreurs de syntaxe. En fait, la syntaxe est très informative. Elle indique le type d'erreur commise. En lisant le guide de retour d'erreur, nous pouvons corriger la syntaxe et résoudre le problème. Le processus d'identification et de suppression des erreurs d'un programme s'appelle le débogage. Corrigeons les erreurs :
|
||||||
|
|
||||||
|
```js
|
||||||
|
console.log('Hello, World!')
|
||||||
|
console.log('Hello, World!')
|
||||||
|
```
|
||||||
|
|
||||||
|
Jusqu'à présent, nous avons vu comment afficher du texte à l'aide de l'extension _`console.log()`_. Si nous imprimons du texte ou une chaîne en utilisant _`console.log()`_, texte doit être à l'intérieur des guillemets simples, des guillemets doubles ou d'un backtick.
|
||||||
|
**Example:**
|
||||||
|
|
||||||
|
```js
|
||||||
|
console.log('Hello, World!')
|
||||||
|
console.log("Hello, World!")
|
||||||
|
console.log(`Hello, World!`)
|
||||||
|
```
|
||||||
|
|
||||||
|
#### AArithmétique
|
||||||
|
|
||||||
|
Maintenant, pratiquons davantage l'écriture de codes JavaScript à l'aide _`console.log()`_ ode la console Google Chrome pour les types de données numériques. En plus du texte, nous pouvons également effectuer des calculs mathématiques en utilisant JavaScript. Faisons les calculs simples suivants. Il est possible d'écrire du code JavaScript sur la console Google Chrome directement sans la fonction. **_`console.log()`_** Cependant, il est inclus dans cette introduction car la majeure partie de ce défi se déroulerait dans un éditeur de texte où l'utilisation de la fonction serait obligatoire. Vous pouvez jouer directement avec les instructions sur la console.
|
||||||
|

|
||||||
|
|
||||||
|
```js
|
||||||
|
console.log(2 + 3) // Addition
|
||||||
|
console.log(3 - 2) // Soustraction
|
||||||
|
console.log(2 * 3) // Multiplication
|
||||||
|
console.log(3 / 2) // Division
|
||||||
|
console.log(3 % 2) // Modulo - trouver le reste
|
||||||
|
console.log(3 ** 2) // Exponentiation 3 ** 2 == 3 * 3
|
||||||
|
```
|
||||||
|
|
||||||
|
### Editeur de code
|
||||||
|
|
||||||
|
Nous pouvons écrire nos codes sur la console du navigateur, mais ce ne sera pas pour des projets plus importants. Dans un environnement de travail réel, les développeurs utilisent différents éditeurs de code pour écrire leurs codes. Dans ce défi des 30 jours de JavaScript, nous utiliserons Visual Studio Code.
|
||||||
|
|
||||||
|
#### Installation de Visual Studio Code
|
||||||
|
|
||||||
|
Visual Studio Code est un éditeur de texte open-source très populaire. Je recommande [download Visual Studio Code](https://code.visualstudio.com/), mais si vous êtes en faveur d'autres éditeurs, n'hésitez pas à suivre avec ce que vous avez.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Si vous avez installé Visual Studio Code, commençons à l'utiliser.
|
||||||
|
|
||||||
|
#### Comment utiliser Visual Studio Code
|
||||||
|
|
||||||
|
Ouvrez Visual Studio Code en double-cliquant sur son icône. Lorsque vous l'ouvrez, vous obtenez ce type d'interface. Essayez d'interagir avec les icônes étiquetées.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Ajout de JavaScript à une page Web
|
||||||
|
|
||||||
|
JavaScript can be added to a web page in three different ways:
|
||||||
|
|
||||||
|
- **_Script en ligne_**
|
||||||
|
- **_Script interne_**
|
||||||
|
- **_Script externe_**
|
||||||
|
- **_Multiples scripts externes_**
|
||||||
|
|
||||||
|
Les sections suivantes présentent différentes manières d'ajouter du code JavaScript à votre page web.
|
||||||
|
|
||||||
|
### Script en ligne
|
||||||
|
|
||||||
|
Créez un dossier de projet sur votre bureau ou à n'importe quel endroit, nommez-le 30DaysOfJS et créez un fichier **_`index.html`_** dans le dossier du projet. Collez ensuite le code suivant et ouvrez-le dans un navigateur, par exemple[Chrome](https://www.google.com/chrome/).
|
||||||
|
|
||||||
|
```html
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<title>30 Jour de javascript:Script en ligne</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<button onclick="alert('Bienvenue dans 30 jours de JavaScript!')">Click Moi</button>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
```
|
||||||
|
|
||||||
|
Vous venez d'écrire votre premier script en ligne. Nous pouvons créer un message d'alerte contextuel à l'aide de la fonction _`alert()`_ fonction intégrée.
|
||||||
|
|
||||||
|
### Script interne
|
||||||
|
|
||||||
|
Le script interne peut être écrit dans le fichier_`head`_ ou dans le _`body`_, mais il est préférable de le placer dans le corps du document HTML.
|
||||||
|
Commençons par écrire dans l'en-tête de la page.
|
||||||
|
|
||||||
|
```html
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<title>30 Jour de javascript:Script en ligne</title>
|
||||||
|
<script>
|
||||||
|
console.log('Bienvenue dans 30 jours de JavaScript!')
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body></body>
|
||||||
|
</html>
|
||||||
|
```
|
||||||
|
|
||||||
|
C'est ainsi que nous écrivons un script interne la plupart du temps. L'écriture du code JavaScript dans le corps du texte est la meilleure option. Ouvrez la console du navigateur pour voir la sortie du code JavaScript. `console.log()`.
|
||||||
|
|
||||||
|
```html
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<title>30 Jour de javascript:Script en ligne</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<button onclick="alert('Bienvenue dans 30 jours de JavaScript!');">Click Moi</button>
|
||||||
|
<script>
|
||||||
|
console.log('Bienvenue dans 30 jours de JavaScript!')
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
```
|
||||||
|
|
||||||
|
Ouvrez la console du navigateur pour voir le résultat de l'opération. `console.log()`.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Script externe
|
||||||
|
|
||||||
|
Comme pour le script interne, le lien vers le script externe peut être placé dans l'en-tête ou dans le corps du texte, mais il est préférable de le placer dans le corps du texte.
|
||||||
|
Tout d'abord, nous devons créer un fichier JavaScript externe avec l'extension .js. Tous les fichiers se terminant par l'extension .js sont des fichiers JavaScript. Créez un fichier nommé introduction.js dans le répertoire de votre projet, écrivez le code suivant et liez ce fichier .js au bas du corps du texte.
|
||||||
|
|
||||||
|
```js
|
||||||
|
console.log('Bienvenue dans 30 jours de JavaScript!')
|
||||||
|
```
|
||||||
|
|
||||||
|
Les scripts externes dans le _head_:
|
||||||
|
|
||||||
|
```html
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<title>30 Jour de javascript:Script externe</title>
|
||||||
|
<script src="introduction.js"></script>
|
||||||
|
</head>
|
||||||
|
<body></body>
|
||||||
|
</html>
|
||||||
|
```
|
||||||
|
|
||||||
|
Les scripts externes dans le _body_:
|
||||||
|
|
||||||
|
```html
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<title>30 Jour de javascript:Script externe/title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- Le lien externe JavaScript peut être placé dans l'en-tête ou dans le corps du texte -->
|
||||||
|
<!--
|
||||||
|
Avant la balise de fermeture du corps de texte, c'est l'endroit recommandé pour placer le script JavaScript externe.
|
||||||
|
-->
|
||||||
|
<script src="introduction.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Ouvrez la console du navigateur pour voir le résultat de la commande`console.log()`.
|
||||||
|
|
||||||
|
### Multiple External Scripts
|
||||||
|
|
||||||
|
Nous pouvons également lier plusieurs fichiers JavaScript externes à une page web.
|
||||||
|
Créer un fichier `helloworld.js` dans le dossier 30DaysOfJS et écrivez le code suivant.
|
||||||
|
|
||||||
|
```js
|
||||||
|
console.log('Hello, World!')
|
||||||
|
```
|
||||||
|
|
||||||
|
```html
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<title>Multiple External Scripts</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script src="./helloworld.js"></script>
|
||||||
|
<script src="./introduction.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
```
|
||||||
|
|
||||||
|
_Votre fichier main.js doit être placé en dessous de tous les autres fichiers scripts_. Il est très important de s'en souvenir.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Introduction aux types de données
|
||||||
|
|
||||||
|
En JavaScript et dans d'autres langages de programmation, il existe différents types de données. Voici les types de données primitives en JavaScript: _Chaine de caractère, Nombre, Booleen, undefined, Null_, et _Symbol_.
|
||||||
|
|
||||||
|
### Les nombres
|
||||||
|
|
||||||
|
- Nombres entiers : Nombres entiers (négatifs, nuls et positifs)
|
||||||
|
Exemple
|
||||||
|
... -3, -2, -1, 0, 1, 2, 3 ...
|
||||||
|
- Nombres à virgule flottante : Nombre décimal
|
||||||
|
Exemple
|
||||||
|
... -3.5, -2.25, -1.0, 0.0, 1.1, 2.2, 3.5 ...
|
||||||
|
|
||||||
|
### Les chaîne de caractère
|
||||||
|
|
||||||
|
Ensemble d'un ou plusieurs caractères compris entre deux guillemets simples, deux guillemets doubles ou deux barres obliques.
|
||||||
|
|
||||||
|
**Exemple:**
|
||||||
|
|
||||||
|
```js
|
||||||
|
'a'
|
||||||
|
'Asabeneh'
|
||||||
|
"Asabeneh"
|
||||||
|
'Finland'
|
||||||
|
'JavaScript est un beau langage de programmation'
|
||||||
|
'J\'aime enseigner'
|
||||||
|
'J\'espère que vous appréciez ce premier jour'
|
||||||
|
`Nous pouvons également créer une chaîne de caractères à l'aide d'un backtick`
|
||||||
|
'Une chaîne de caractères peut être aussi petite qu\'un seul caractère ou aussi grande que plusieurs pages.'
|
||||||
|
'Tout type de données placé sous un guillemet simple, un guillemet double ou une coche est une chaîne de caractères.'
|
||||||
|
```
|
||||||
|
|
||||||
|
### Booléens
|
||||||
|
|
||||||
|
Une valeur booléenne est soit vraie, soit fausse. Toute comparaison renvoie une valeur booléenne, qui est soit vraie, soit fausse.
|
||||||
|
Un type de données booléen est soit une valeur vraie, soit une valeur fausse.
|
||||||
|
|
||||||
|
**Exemple:**
|
||||||
|
|
||||||
|
```js
|
||||||
|
true // si la lumière est allumée, la valeur est vraie
|
||||||
|
false // si la lumière est éteinte, la valeur est fausse
|
||||||
|
```
|
||||||
|
|
||||||
|
### Indéfini(Undefined)
|
||||||
|
|
||||||
|
En JavaScript, si nous n'attribuons pas de valeur à une variable, cette valeur est indéfinie. En outre, si une fonction ne renvoie rien, elle renvoie une valeur indéfinie.
|
||||||
|
|
||||||
|
```js
|
||||||
|
let firstName
|
||||||
|
console.log(firstName) // indéfini, car il n'est pas encore affecté à une valeur
|
||||||
|
```
|
||||||
|
|
||||||
|
### Null
|
||||||
|
|
||||||
|
Null en JavaScript signifie une valeur vide.
|
||||||
|
|
||||||
|
```js
|
||||||
|
let emptyValue = null
|
||||||
|
```
|
||||||
|
|
||||||
|
## Vérification des types de données
|
||||||
|
|
||||||
|
Pour vérifier le type de données d'une certaine variable, nous utilisons la fonction **typeof** de l'opérateur. Voir l'exemple suivant.
|
||||||
|
|
||||||
|
```js
|
||||||
|
console.log(typeof 'Asabeneh') // chaîne de caractère
|
||||||
|
console.log(typeof 5) // nombre
|
||||||
|
console.log(typeof true) // booléen
|
||||||
|
console.log(typeof null) // type object
|
||||||
|
console.log(typeof undefined) // undefini
|
||||||
|
```
|
||||||
|
|
||||||
|
## Encore des commentaires
|
||||||
|
|
||||||
|
Rappelez-vous que les commentaires en JavaScript sont similaires à ceux des autres langages de programmation. Les commentaires sont importants pour rendre votre code plus lisible.
|
||||||
|
Il existe deux façons de commenter :
|
||||||
|
|
||||||
|
- _Commentaire sur une seule ligne_
|
||||||
|
- _Commentaires multilignes_
|
||||||
|
|
||||||
|
```js
|
||||||
|
// commenter le code lui-même avec un seul commentaire
|
||||||
|
// let firstName = 'Asabeneh'; commentaire sur une seule ligne
|
||||||
|
// let lastName = 'Yetayeh'; commentaire sur une seule ligne
|
||||||
|
```
|
||||||
|
|
||||||
|
Commentaires en plusieurs lignes :
|
||||||
|
|
||||||
|
```js
|
||||||
|
/*
|
||||||
|
let location = 'Helsinki';
|
||||||
|
let age = 100;
|
||||||
|
let isMarried = true;
|
||||||
|
Il s'agit d'un commentaire de plusieurs lignes
|
||||||
|
*/
|
||||||
|
```
|
||||||
|
|
||||||
|
## Variables
|
||||||
|
|
||||||
|
Les variables sont des _conteneurs_ of data. Les variables sont utilisées pour _stocker_ des données dans un emplacement de mémoire. Lorsqu'une variable est déclarée, un emplacement mémoire est réservé. Lorsqu'une variable est affectée à une valeur (données), l'espace mémoire sera rempli avec ces données. Pour déclarer une variable, on utilise_var_, _let_, or _const_ keywords.
|
||||||
|
|
||||||
|
Pour une variable qui change à un autre moment, nous utilisons_let_. _const_. Si les données ne changent pas du tout, nous utilisons l'exemple suivant, PI, nom de pays, ne changent pas, et nous pouvons utiliser _const_.
|
||||||
|
|
||||||
|
Nous n'utiliserons pas _var_ dans ce défi et je ne vous recommande pas de l'utiliser. C'est une façon de déclarer une variable qui peut être source d'erreurs et qui comporte de nombreuses fuites. Nous parlerons plus en détail de var, let et const dans d'autres sections (scope). Pour l'instant, l'explication ci-dessus est suffisante.
|
||||||
|
|
||||||
|
Un nom de variable JavaScript valide doit respecter les règles suivantes :
|
||||||
|
|
||||||
|
- Le nom d'une variable JavaScript ne doit pas commencer par un chiffre.
|
||||||
|
- Le nom d'une variable JavaScript n'autorise pas les caractères spéciaux, à l'exception du signe du dollar et du trait de soulignement.
|
||||||
|
- Le nom d'une variable JavaScript suit la convention camelCase.
|
||||||
|
- Le nom d'une variable JavaScript ne doit pas comporter d'espace entre les mots.
|
||||||
|
|
||||||
|
Voici des exemples de variables JavaScript valides.
|
||||||
|
|
||||||
|
```js
|
||||||
|
firstName
|
||||||
|
lastName
|
||||||
|
country
|
||||||
|
city
|
||||||
|
capitalCity
|
||||||
|
age
|
||||||
|
isMarried
|
||||||
|
|
||||||
|
first_name
|
||||||
|
last_name
|
||||||
|
is_married
|
||||||
|
capital_city
|
||||||
|
|
||||||
|
num1
|
||||||
|
num_1
|
||||||
|
_num_1
|
||||||
|
$num1
|
||||||
|
year2020
|
||||||
|
year_2020
|
||||||
|
```
|
||||||
|
|
||||||
|
La première et la deuxième variables de la liste suivent la convention camelCase de déclaration en JavaScript. Dans ce document, nous utiliserons des variables en camelCase (camelWithOneHump). Nous utilisons la camelCase (camelWithTwoHump) pour déclarer les classes, nous discuterons des classes et des objets dans d'autres sections.
|
||||||
|
|
||||||
|
Exemple de variables non valides :
|
||||||
|
|
||||||
|
```js
|
||||||
|
first-name
|
||||||
|
1_num
|
||||||
|
num_#_1
|
||||||
|
```
|
||||||
|
|
||||||
|
Déclarons des variables avec différents types de données. Pour déclarer une variable, nous devons utiliser _let_ or _const_ avant le nom de la variable. Après le nom de la variable, on écrit un signe égal (opérateur d'affectation), et une valeur (donnée affectée).
|
||||||
|
|
||||||
|
```js
|
||||||
|
// Syntax
|
||||||
|
let nameOfVariable = value
|
||||||
|
```
|
||||||
|
|
||||||
|
Le nom de l'objet est le nom qui stocke les différentes données de la valeur. Voir ci-dessous pour des exemples détaillés.
|
||||||
|
|
||||||
|
**Exemples de variables déclarées**
|
||||||
|
|
||||||
|
```js
|
||||||
|
// Déclarer différentes variables de différents types de données
|
||||||
|
let firstName = 'Asabeneh' // prénom d'une personne
|
||||||
|
let lastName = 'Yetayeh' // nom de famille d'une personne
|
||||||
|
let country = 'Finland' // pays
|
||||||
|
let city = 'Helsinki' // capitale
|
||||||
|
let age = 100 // age
|
||||||
|
let isMarried = true
|
||||||
|
|
||||||
|
console.log(firstName, lastName, country, city, age, isMarried)
|
||||||
|
```
|
||||||
|
|
||||||
|
```sh
|
||||||
|
Asabeneh Yetayeh Finland Helsinki 100 true
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
// Declaring variables with number values
|
||||||
|
let age = 100 // age in years
|
||||||
|
const gravity = 9.81 // earth gravity in m/s2
|
||||||
|
const boilingPoint = 100 // water boiling point, temperature in °C
|
||||||
|
const PI = 3.14 // geometrical constant
|
||||||
|
console.log(gravity, boilingPoint, PI)
|
||||||
|
```
|
||||||
|
|
||||||
|
```sh
|
||||||
|
9.81 100 3.14
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
// Les variables peuvent également être déclarées sur une seule ligne séparée par une virgule, mais je recommande d'utiliser une ligne séparée pour rendre le code plus lisible.
|
||||||
|
let name = 'Asabeneh', job = 'teacher', live = 'Finland'
|
||||||
|
console.log(name, job, live)
|
||||||
|
```
|
||||||
|
|
||||||
|
```sh
|
||||||
|
Asabeneh teacher Finland
|
||||||
|
```
|
||||||
|
|
||||||
|
Lorsque vous exécutez _index.html_ dans le fichier 01-Jour vous devriez obtenir ceci:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
🌕 Vous êtes extraordinaire ! Vous venez de relever le défi du premier jour et vous êtes sur la voie de la grandeur. Maintenant, fais quelques exercices pour ton cerveau et tes muscles.
|
||||||
|
|
||||||
|
# 💻 Day 1: Exercises
|
||||||
|
|
||||||
|
1. Rédigez un commentaire d'une seule ligne qui dit, _les commentaires rendent le code plus lisible_
|
||||||
|
2. Rédigez un autre commentaire unique qui dit, _Bienvenue dans 30 jours de JavaScript_
|
||||||
|
3. Rédigez un commentaire de plusieurs lignes qui dit, _les commentaires peuvent rendre le code lisible et facile à réutiliser_
|
||||||
|
_et informatif_
|
||||||
|
|
||||||
|
4. Créez un fichier variable.js, déclarez des variables et attribuez des types de données string, boolean, undefined et null.
|
||||||
|
5.Créer le fichier datatypes.js et utiliser le JavaScript **_typeof_** pour vérifier les différents types de données. Vérifier le type de données de chaque variable
|
||||||
|
6. Déclarer quatre variables sans leur attribuer de valeur
|
||||||
|
7. Déclarer quatre variables avec des valeurs assignées
|
||||||
|
8. Déclarez des variables pour stocker votre prénom, votre nom de famille, votre état civil, votre pays et votre âge sur plusieurs lignes.
|
||||||
|
9. Déclarez des variables pour stocker votre prénom, votre nom, votre état civil, votre pays et votre âge sur une seule ligne.
|
||||||
|
10. Déclarer deux variables _myAge_ and _yourAge_ et leur assigner des valeurs initiales et se connecter à la console du navigateur.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
I am 25 years old.
|
||||||
|
You are 30 years old.
|
||||||
|
```
|
||||||
|
|
||||||
|
🎉 FÉLICITATIONS ! 🎉
|
||||||
|
|
||||||
|
[Jour 2 >>](./02_Jour_les_types_des_donnee/02_Jour_les_types_des_donnee.md)
|
@ -0,0 +1 @@
|
|||||||
|
console.log('Hello, World!')
|
@ -0,0 +1,19 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<title>30DaysOfJavaScript</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<h1>30DaysOfJavaScript:03 Day</h1>
|
||||||
|
<h2>Introdução</h2>
|
||||||
|
<button onclick="alert('Bem vindo ao 30DaysOfJavaScript!');">Clique aqui</button>
|
||||||
|
<script src="./helloworld.js"></script>
|
||||||
|
<script src="./introduction.js"></script>
|
||||||
|
<script src="./variable.js"></script>
|
||||||
|
<script src="./main.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
@ -0,0 +1 @@
|
|||||||
|
console.log('Bem vindo ao 30DaysOfJavaScript')
|
@ -0,0 +1,4 @@
|
|||||||
|
// Os valores das variáveis podem ser acessados de outro arquivo variable.js
|
||||||
|
console.log(primeiroNome, sobrenome, pais, cidade, idade, isCasado)
|
||||||
|
console.log(gravidade, pontoEbulicao, PI) // 9.81, 100, 3.14
|
||||||
|
console.log(nome, profissao, aondeMora)
|
@ -0,0 +1,20 @@
|
|||||||
|
// Declarando diferentes variáveis com diferentes tipos de dados.
|
||||||
|
|
||||||
|
let primeiroNome = 'Asabeneh' // primeiro nome de uma pessoa
|
||||||
|
let sobrenome = 'Yetayeh' // sobrenome de uma pessoa
|
||||||
|
let pais = 'Finlândia' // país
|
||||||
|
let cidade = 'Helsinki' // capital do país
|
||||||
|
let idade = 100 // idade em anos
|
||||||
|
let isCasado = true
|
||||||
|
|
||||||
|
// Declarando variáveis com valores numéricos
|
||||||
|
|
||||||
|
const gravidade = 9.81 // gravidade da terra in m/s2
|
||||||
|
const pontoEbulicao = 100 // ponto de ebulição da água, temperatura em oC
|
||||||
|
const PI = 3.14 // constante geométrica
|
||||||
|
|
||||||
|
// Variáveis também podem ser declaradas em uma linha, separadas por vírgula.
|
||||||
|
|
||||||
|
let nome = 'Asabeneh', //name of a person
|
||||||
|
profissao = 'Professor',
|
||||||
|
aondeMora = 'Finlândia'
|
@ -0,0 +1,20 @@
|
|||||||
|
// Declarando diferentes variáveis com diferentes tipos de dados.
|
||||||
|
|
||||||
|
let primeiroNome = 'Asabeneh' // primeiro nome de uma pessoa
|
||||||
|
let sobrenome = 'Yetayeh' // sobrenome de uma pessoa
|
||||||
|
let pais = 'Finlândia' // país
|
||||||
|
let cidade = 'Helsinki' // capital do país
|
||||||
|
let idade = 100 // idade em anos
|
||||||
|
let isCasado = true
|
||||||
|
|
||||||
|
// Declarando variáveis com valores numéricos
|
||||||
|
|
||||||
|
const gravidade = 9.81 // gravidade da terra in m/s2
|
||||||
|
const pontoEbulicao = 100 // ponto de ebulição da água, temperatura em oC
|
||||||
|
const PI = 3.14 // constante geométrica
|
||||||
|
|
||||||
|
// Variáveis também podem ser declaradas em uma linha, separadas por vírgula.
|
||||||
|
|
||||||
|
let nome = 'Asabeneh', //name of a person
|
||||||
|
profissao = 'Professor',
|
||||||
|
aondeMora = 'Finlândia'
|
@ -0,0 +1,17 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<title>30DaysOfJavaScript</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<h1>30DaysOfJavaScript:02 Day</h1>
|
||||||
|
<h2>Data types</h2>
|
||||||
|
|
||||||
|
<!-- import your scripts here -->
|
||||||
|
<script src="./main.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
@ -0,0 +1 @@
|
|||||||
|
// this is your main.js script
|
@ -0,0 +1,17 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<title>30DaysOfJavaScript: 03 Day</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<h1>30DaysOfJavaScript:03 Day</h1>
|
||||||
|
<h2>Booleans, undefined, null, date object</h2>
|
||||||
|
|
||||||
|
<!-- import your scripts here -->
|
||||||
|
<script src="./scripts/main.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
@ -0,0 +1 @@
|
|||||||
|
// this is your main.js script
|
@ -0,0 +1,633 @@
|
|||||||
|
<div align="center">
|
||||||
|
<h1> 30 Dias De JavaScript: Boleanos, Operadores e Data</h1>
|
||||||
|
<a class="header-badge" target="_blank" href="https://www.linkedin.com/in/asabeneh/">
|
||||||
|
<img src="https://img.shields.io/badge/style--5eba00.svg?label=LinkedIn&logo=linkedin&style=social">
|
||||||
|
</a>
|
||||||
|
<a class="header-badge" target="_blank" href="https://twitter.com/Asabeneh">
|
||||||
|
<img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/asabeneh?style=social">
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<sub>Autor;
|
||||||
|
<a href="https://www.linkedin.com/in/asabeneh/" target="_blank">Asabeneh Yetayeh</a><br>
|
||||||
|
<small> Janeiro, 2020</small>
|
||||||
|
</sub>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
[<< Day 2](../Dia_02_Tipos_Dados/dia_02_tipos_dados.md) | [Day 4 >>](../04_Day_Conditionals/04_day_conditionals.md)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- [📔 Day 3](#-day-3)
|
||||||
|
- [Booleans](#booleans)
|
||||||
|
- [Truthy values](#truthy-values)
|
||||||
|
- [Falsy values](#falsy-values)
|
||||||
|
- [Undefined](#undefined)
|
||||||
|
- [Null](#null)
|
||||||
|
- [Operators](#operators)
|
||||||
|
- [Assignment operators](#assignment-operators)
|
||||||
|
- [Arithmetic Operators](#arithmetic-operators)
|
||||||
|
- [Comparison Operators](#comparison-operators)
|
||||||
|
- [Logical Operators](#logical-operators)
|
||||||
|
- [Increment Operator](#increment-operator)
|
||||||
|
- [Decrement Operator](#decrement-operator)
|
||||||
|
- [Ternary Operators](#ternary-operators)
|
||||||
|
- [Operator Precedence](#operator-precedence)
|
||||||
|
- [Window Methods](#window-methods)
|
||||||
|
- [Window alert() method](#window-alert-method)
|
||||||
|
- [Window prompt() method](#window-prompt-method)
|
||||||
|
- [Window confirm() method](#window-confirm-method)
|
||||||
|
- [Date Object](#date-object)
|
||||||
|
- [Creating a time object](#creating-a-time-object)
|
||||||
|
- [Getting full year](#getting-full-year)
|
||||||
|
- [Getting month](#getting-month)
|
||||||
|
- [Getting date](#getting-date)
|
||||||
|
- [Getting day](#getting-day)
|
||||||
|
- [Getting hours](#getting-hours)
|
||||||
|
- [Getting minutes](#getting-minutes)
|
||||||
|
- [Getting seconds](#getting-seconds)
|
||||||
|
- [Getting time](#getting-time)
|
||||||
|
- [💻 Day 3: Exercises](#-day-3-exercises)
|
||||||
|
- [Exercises: Level 1](#exercises-level-1)
|
||||||
|
- [Exercises: Level 2](#exercises-level-2)
|
||||||
|
- [Exercises: Level 3](#exercises-level-3)
|
||||||
|
|
||||||
|
# 📔 Day 3
|
||||||
|
|
||||||
|
## Booleans
|
||||||
|
|
||||||
|
A boolean data type represents one of the two values:_true_ or _false_. Boolean value is either true or false. The use of these data types will be clear when you start the comparison operator. Any comparisons return a boolean value which is either true or false.
|
||||||
|
|
||||||
|
**Example: Boolean Values**
|
||||||
|
|
||||||
|
```js
|
||||||
|
let isLightOn = true
|
||||||
|
let isRaining = false
|
||||||
|
let isHungry = false
|
||||||
|
let isMarried = true
|
||||||
|
let truValue = 4 > 3 // true
|
||||||
|
let falseValue = 4 < 3 // false
|
||||||
|
```
|
||||||
|
|
||||||
|
We agreed that boolean values are either true or false.
|
||||||
|
|
||||||
|
### Truthy values
|
||||||
|
|
||||||
|
- All numbers(positive and negative) are truthy except zero
|
||||||
|
- All strings are truthy except an empty string ('')
|
||||||
|
- The boolean true
|
||||||
|
|
||||||
|
### Falsy values
|
||||||
|
|
||||||
|
- 0
|
||||||
|
- 0n
|
||||||
|
- null
|
||||||
|
- undefined
|
||||||
|
- NaN
|
||||||
|
- the boolean false
|
||||||
|
- '', "", ``, empty string
|
||||||
|
|
||||||
|
It is good to remember those truthy values and falsy values. In later section, we will use them with conditions to make decisions.
|
||||||
|
|
||||||
|
## Undefined
|
||||||
|
|
||||||
|
If we declare a variable and if we do not assign a value, the value will be undefined. In addition to this, if a function is not returning the value, it will be undefined.
|
||||||
|
|
||||||
|
```js
|
||||||
|
let firstName
|
||||||
|
console.log(firstName) //not defined, because it is not assigned to a value yet
|
||||||
|
```
|
||||||
|
|
||||||
|
## Null
|
||||||
|
|
||||||
|
```js
|
||||||
|
let empty = null
|
||||||
|
console.log(empty) // -> null , means no value
|
||||||
|
```
|
||||||
|
|
||||||
|
## Operators
|
||||||
|
|
||||||
|
### Assignment operators
|
||||||
|
|
||||||
|
An equal sign in JavaScript is an assignment operator. It uses to assign a variable.
|
||||||
|
|
||||||
|
```js
|
||||||
|
let firstName = 'Asabeneh'
|
||||||
|
let country = 'Finland'
|
||||||
|
```
|
||||||
|
|
||||||
|
Assignment Operators
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Arithmetic Operators
|
||||||
|
|
||||||
|
Arithmetic operators are mathematical operators.
|
||||||
|
|
||||||
|
- Addition(+): a + b
|
||||||
|
- Subtraction(-): a - b
|
||||||
|
- Multiplication(*): a * b
|
||||||
|
- Division(/): a / b
|
||||||
|
- Modulus(%): a % b
|
||||||
|
- Exponential(**): a ** b
|
||||||
|
|
||||||
|
```js
|
||||||
|
let numOne = 4
|
||||||
|
let numTwo = 3
|
||||||
|
let sum = numOne + numTwo
|
||||||
|
let diff = numOne - numTwo
|
||||||
|
let mult = numOne * numTwo
|
||||||
|
let div = numOne / numTwo
|
||||||
|
let remainder = numOne % numTwo
|
||||||
|
let powerOf = numOne ** numTwo
|
||||||
|
|
||||||
|
console.log(sum, diff, mult, div, remainder, powerOf) // 7,1,12,1.33,1, 64
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
const PI = 3.14
|
||||||
|
let radius = 100 // length in meter
|
||||||
|
|
||||||
|
//Let us calculate area of a circle
|
||||||
|
const areaOfCircle = PI * radius * radius
|
||||||
|
console.log(areaOfCircle) // 314 m
|
||||||
|
|
||||||
|
|
||||||
|
const gravity = 9.81 // in m/s2
|
||||||
|
let mass = 72 // in Kilogram
|
||||||
|
|
||||||
|
// Let us calculate weight of an object
|
||||||
|
const weight = mass * gravity
|
||||||
|
console.log(weight) // 706.32 N(Newton)
|
||||||
|
|
||||||
|
const boilingPoint = 100 // temperature in oC, boiling point of water
|
||||||
|
const bodyTemp = 37 // body temperature in oC
|
||||||
|
|
||||||
|
|
||||||
|
// Concatenating string with numbers using string interpolation
|
||||||
|
/*
|
||||||
|
The boiling point of water is 100 oC.
|
||||||
|
Human body temperature is 37 oC.
|
||||||
|
The gravity of earth is 9.81 m/s2.
|
||||||
|
*/
|
||||||
|
console.log(
|
||||||
|
`The boiling point of water is ${boilingPoint} oC.\nHuman body temperature is ${bodyTemp} oC.\nThe gravity of earth is ${gravity} m / s2.`
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Comparison Operators
|
||||||
|
|
||||||
|
In programming we compare values, we use comparison operators to compare two values. We check if a value is greater or less or equal to other value.
|
||||||
|
|
||||||
|

|
||||||
|
**Example: Comparison Operators**
|
||||||
|
|
||||||
|
```js
|
||||||
|
console.log(3 > 2) // true, because 3 is greater than 2
|
||||||
|
console.log(3 >= 2) // true, because 3 is greater than 2
|
||||||
|
console.log(3 < 2) // false, because 3 is greater than 2
|
||||||
|
console.log(2 < 3) // true, because 2 is less than 3
|
||||||
|
console.log(2 <= 3) // true, because 2 is less than 3
|
||||||
|
console.log(3 == 2) // false, because 3 is not equal to 2
|
||||||
|
console.log(3 != 2) // true, because 3 is not equal to 2
|
||||||
|
console.log(3 == '3') // true, compare only value
|
||||||
|
console.log(3 === '3') // false, compare both value and data type
|
||||||
|
console.log(3 !== '3') // true, compare both value and data type
|
||||||
|
console.log(3 != 3) // false, compare only value
|
||||||
|
console.log(3 !== 3) // false, compare both value and data type
|
||||||
|
console.log(0 == false) // true, equivalent
|
||||||
|
console.log(0 === false) // false, not exactly the same
|
||||||
|
console.log(0 == '') // true, equivalent
|
||||||
|
console.log(0 == ' ') // true, equivalent
|
||||||
|
console.log(0 === '') // false, not exactly the same
|
||||||
|
console.log(1 == true) // true, equivalent
|
||||||
|
console.log(1 === true) // false, not exactly the same
|
||||||
|
console.log(undefined == null) // true
|
||||||
|
console.log(undefined === null) // false
|
||||||
|
console.log(NaN == NaN) // false, not equal
|
||||||
|
console.log(NaN === NaN) // false
|
||||||
|
console.log(typeof NaN) // number
|
||||||
|
|
||||||
|
console.log('mango'.length == 'avocado'.length) // false
|
||||||
|
console.log('mango'.length != 'avocado'.length) // true
|
||||||
|
console.log('mango'.length < 'avocado'.length) // true
|
||||||
|
console.log('milk'.length == 'meat'.length) // true
|
||||||
|
console.log('milk'.length != 'meat'.length) // false
|
||||||
|
console.log('tomato'.length == 'potato'.length) // true
|
||||||
|
console.log('python'.length > 'dragon'.length) // false
|
||||||
|
```
|
||||||
|
|
||||||
|
Try to understand the above comparisons with some logic. Remembering without any logic might be difficult.
|
||||||
|
JavaScript is somehow a wired kind of programming language. JavaScript code run and give you a result but unless you are good at it may not be the desired result.
|
||||||
|
|
||||||
|
As rule of thumb, if a value is not true with == it will not be equal with ===. Using === is safer than using ==. The following [link](https://dorey.github.io/JavaScript-Equality-Table/) has an exhaustive list of comparison of data types.
|
||||||
|
|
||||||
|
### Logical Operators
|
||||||
|
|
||||||
|
The following symbols are the common logical operators:
|
||||||
|
&&(ampersand) , ||(pipe) and !(negation).
|
||||||
|
The && operator gets true only if the two operands are true.
|
||||||
|
The || operator gets true either of the operand is true.
|
||||||
|
The ! operator negates true to false and false to true.
|
||||||
|
|
||||||
|
```js
|
||||||
|
// && ampersand operator example
|
||||||
|
|
||||||
|
const check = 4 > 3 && 10 > 5 // true && true -> true
|
||||||
|
const check = 4 > 3 && 10 < 5 // true && false -> false
|
||||||
|
const check = 4 < 3 && 10 < 5 // false && false -> false
|
||||||
|
|
||||||
|
// || pipe or operator, example
|
||||||
|
|
||||||
|
const check = 4 > 3 || 10 > 5 // true || true -> true
|
||||||
|
const check = 4 > 3 || 10 < 5 // true || false -> true
|
||||||
|
const check = 4 < 3 || 10 < 5 // false || false -> false
|
||||||
|
|
||||||
|
//! Negation examples
|
||||||
|
|
||||||
|
let check = 4 > 3 // true
|
||||||
|
let check = !(4 > 3) // false
|
||||||
|
let isLightOn = true
|
||||||
|
let isLightOff = !isLightOn // false
|
||||||
|
let isMarried = !false // true
|
||||||
|
```
|
||||||
|
|
||||||
|
### Increment Operator
|
||||||
|
|
||||||
|
In JavaScript we use the increment operator to increase a value stored in a variable. The increment could be pre or post increment. Let us see each of them:
|
||||||
|
|
||||||
|
1. Pre-increment
|
||||||
|
|
||||||
|
```js
|
||||||
|
let count = 0
|
||||||
|
console.log(++count) // 1
|
||||||
|
console.log(count) // 1
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Post-increment
|
||||||
|
|
||||||
|
```js
|
||||||
|
let count = 0
|
||||||
|
console.log(count++) // 0
|
||||||
|
console.log(count) // 1
|
||||||
|
```
|
||||||
|
|
||||||
|
We use most of the time post-increment. At least you should remember how to use post-increment operator.
|
||||||
|
|
||||||
|
### Decrement Operator
|
||||||
|
|
||||||
|
In JavaScript we use the decrement operator to decrease a value stored in a variable. The decrement could be pre or post decrement. Let us see each of them:
|
||||||
|
|
||||||
|
1. Pre-decrement
|
||||||
|
|
||||||
|
```js
|
||||||
|
let count = 0
|
||||||
|
console.log(--count) // -1
|
||||||
|
console.log(count) // -1
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Post-decrement
|
||||||
|
|
||||||
|
```js
|
||||||
|
let count = 0
|
||||||
|
console.log(count--) // 0
|
||||||
|
console.log(count) // -1
|
||||||
|
```
|
||||||
|
|
||||||
|
### Ternary Operators
|
||||||
|
|
||||||
|
Ternary operator allows to write a condition.
|
||||||
|
Another way to write conditionals is using ternary operators. Look at the following examples:
|
||||||
|
|
||||||
|
```js
|
||||||
|
let isRaining = true
|
||||||
|
isRaining
|
||||||
|
? console.log('You need a rain coat.')
|
||||||
|
: console.log('No need for a rain coat.')
|
||||||
|
isRaining = false
|
||||||
|
|
||||||
|
isRaining
|
||||||
|
? console.log('You need a rain coat.')
|
||||||
|
: console.log('No need for a rain coat.')
|
||||||
|
```
|
||||||
|
|
||||||
|
```sh
|
||||||
|
You need a rain coat.
|
||||||
|
No need for a rain coat.
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
let number = 5
|
||||||
|
number > 0
|
||||||
|
? console.log(`${number} is a positive number`)
|
||||||
|
: console.log(`${number} is a negative number`)
|
||||||
|
number = -5
|
||||||
|
|
||||||
|
number > 0
|
||||||
|
? console.log(`${number} is a positive number`)
|
||||||
|
: console.log(`${number} is a negative number`)
|
||||||
|
```
|
||||||
|
|
||||||
|
```sh
|
||||||
|
5 is a positive number
|
||||||
|
-5 is a negative number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Operator Precedence
|
||||||
|
|
||||||
|
I would like to recommend you to read about operator precedence from this [link](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence)
|
||||||
|
|
||||||
|
## Window Methods
|
||||||
|
|
||||||
|
### Window alert() method
|
||||||
|
|
||||||
|
As you have seen at very beginning alert() method displays an alert box with a specified message and an OK button. It is a builtin method and it takes on argument.
|
||||||
|
|
||||||
|
```js
|
||||||
|
alert(message)
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
alert('Welcome to 30DaysOfJavaScript')
|
||||||
|
```
|
||||||
|
|
||||||
|
Do not use too much alert because it is destructing and annoying, use it just to test.
|
||||||
|
|
||||||
|
### Window prompt() method
|
||||||
|
|
||||||
|
The window prompt methods display a prompt box with an input on your browser to take input values and the input data can be stored in a variable. The prompt() method takes two arguments. The second argument is optional.
|
||||||
|
|
||||||
|
```js
|
||||||
|
prompt('required text', 'optional text')
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
let number = prompt('Enter number', 'number goes here')
|
||||||
|
console.log(number)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Window confirm() method
|
||||||
|
|
||||||
|
The confirm() method displays a dialog box with a specified message, along with an OK and a Cancel button.
|
||||||
|
A confirm box is often used to ask permission from a user to execute something. Window confirm() takes a string as an argument.
|
||||||
|
Clicking the OK yields true value, whereas clicking the Cancel button yields false value.
|
||||||
|
|
||||||
|
```js
|
||||||
|
const agree = confirm('Are you sure you like to delete? ')
|
||||||
|
console.log(agree) // result will be true or false based on what you click on the dialog box
|
||||||
|
```
|
||||||
|
|
||||||
|
These are not all the window methods we will have a separate section to go deep into window methods.
|
||||||
|
|
||||||
|
## Date Object
|
||||||
|
|
||||||
|
Time is an important thing. We like to know the time a certain activity or event. In JavaScript current time and date is created using JavaScript Date Object. The object we create using Date object provides many methods to work with date and time.The methods we use to get date and time information from a date object values are started with a word _get_ because it provide the information.
|
||||||
|
_getFullYear(), getMonth(), getDate(), getDay(), getHours(), getMinutes, getSeconds(), getMilliseconds(), getTime(), getDay()_
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Creating a time object
|
||||||
|
|
||||||
|
Once we create time object. The time object will provide information about time. Let us create a time object
|
||||||
|
|
||||||
|
```js
|
||||||
|
const now = new Date()
|
||||||
|
console.log(now) // Sat Jan 04 2020 00:56:41 GMT+0200 (Eastern European Standard Time)
|
||||||
|
```
|
||||||
|
|
||||||
|
We have created a time object and we can access any date time information from the object using the get methods we have mentioned on the table.
|
||||||
|
|
||||||
|
### Getting full year
|
||||||
|
|
||||||
|
Let's extract or get the full year from a time object.
|
||||||
|
|
||||||
|
```js
|
||||||
|
const now = new Date()
|
||||||
|
console.log(now.getFullYear()) // 2020
|
||||||
|
```
|
||||||
|
|
||||||
|
### Getting month
|
||||||
|
|
||||||
|
Let's extract or get the month from a time object.
|
||||||
|
|
||||||
|
```js
|
||||||
|
const now = new Date()
|
||||||
|
console.log(now.getMonth()) // 0, because the month is January, month(0-11)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Getting date
|
||||||
|
|
||||||
|
Let's extract or get the date of the month from a time object.
|
||||||
|
|
||||||
|
```js
|
||||||
|
const now = new Date()
|
||||||
|
console.log(now.getDate()) // 4, because the day of the month is 4th, day(1-31)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Getting day
|
||||||
|
|
||||||
|
Let's extract or get the day of the week from a time object.
|
||||||
|
|
||||||
|
```js
|
||||||
|
const now = new Date()
|
||||||
|
console.log(now.getDay()) // 6, because the day is Saturday which is the 7th day
|
||||||
|
// Sunday is 0, Monday is 1 and Saturday is 6
|
||||||
|
// Getting the weekday as a number (0-6)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Getting hours
|
||||||
|
|
||||||
|
Let's extract or get the hours from a time object.
|
||||||
|
|
||||||
|
```js
|
||||||
|
const now = new Date()
|
||||||
|
console.log(now.getHours()) // 0, because the time is 00:56:41
|
||||||
|
```
|
||||||
|
|
||||||
|
### Getting minutes
|
||||||
|
|
||||||
|
Let's extract or get the minutes from a time object.
|
||||||
|
|
||||||
|
```js
|
||||||
|
const now = new Date()
|
||||||
|
console.log(now.getMinutes()) // 56, because the time is 00:56:41
|
||||||
|
```
|
||||||
|
|
||||||
|
### Getting seconds
|
||||||
|
|
||||||
|
Let's extract or get the seconds from a time object.
|
||||||
|
|
||||||
|
```js
|
||||||
|
const now = new Date()
|
||||||
|
console.log(now.getSeconds()) // 41, because the time is 00:56:41
|
||||||
|
```
|
||||||
|
|
||||||
|
### Getting time
|
||||||
|
|
||||||
|
This method give time in milliseconds starting from January 1, 1970. It is also know as Unix time. We can get the unix time in two ways:
|
||||||
|
|
||||||
|
1. Using _getTime()_
|
||||||
|
|
||||||
|
```js
|
||||||
|
const now = new Date() //
|
||||||
|
console.log(now.getTime()) // 1578092201341, this is the number of seconds passed from January 1, 1970 to January 4, 2020 00:56:41
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Using _Date.now()_
|
||||||
|
|
||||||
|
```js
|
||||||
|
const allSeconds = Date.now() //
|
||||||
|
console.log(allSeconds) // 1578092201341, this is the number of seconds passed from January 1, 1970 to January 4, 2020 00:56:41
|
||||||
|
|
||||||
|
const timeInSeconds = new Date().getTime()
|
||||||
|
console.log(allSeconds == timeInSeconds) // true
|
||||||
|
```
|
||||||
|
|
||||||
|
Let us format these values to a human readable time format.
|
||||||
|
**Example:**
|
||||||
|
|
||||||
|
```js
|
||||||
|
const now = new Date()
|
||||||
|
const year = now.getFullYear() // return year
|
||||||
|
const month = now.getMonth() + 1 // return month(0 - 11)
|
||||||
|
const date = now.getDate() // return date (1 - 31)
|
||||||
|
const hours = now.getHours() // return number (0 - 23)
|
||||||
|
const minutes = now.getMinutes() // return number (0 -59)
|
||||||
|
|
||||||
|
console.log(`${date}/${month}/${year} ${hours}:${minutes}`) // 4/1/2020 0:56
|
||||||
|
```
|
||||||
|
|
||||||
|
🌕 You have boundless energy. You have just completed day 3 challenges and you are three steps a head in to your way to greatness. Now do some exercises for your brain and for your muscle.
|
||||||
|
|
||||||
|
## 💻 Day 3: Exercises
|
||||||
|
|
||||||
|
### Exercises: Level 1
|
||||||
|
|
||||||
|
1. Declare firstName, lastName, country, city, age, isMarried, year variable and assign value to it and use the typeof operator to check different data types.
|
||||||
|
2. Check if type of '10' is equal to 10
|
||||||
|
3. Check if parseInt('9.8') is equal to 10
|
||||||
|
4. Boolean value is either true or false.
|
||||||
|
1. Write three JavaScript statement which provide truthy value.
|
||||||
|
2. Write three JavaScript statement which provide falsy value.
|
||||||
|
|
||||||
|
5. Figure out the result of the following comparison expression first without using console.log(). After you decide the result confirm it using console.log()
|
||||||
|
1. 4 > 3
|
||||||
|
2. 4 >= 3
|
||||||
|
3. 4 < 3
|
||||||
|
4. 4 <= 3
|
||||||
|
5. 4 == 4
|
||||||
|
6. 4 === 4
|
||||||
|
7. 4 != 4
|
||||||
|
8. 4 !== 4
|
||||||
|
9. 4 != '4'
|
||||||
|
10. 4 == '4'
|
||||||
|
11. 4 === '4'
|
||||||
|
12. Find the length of python and jargon and make a falsy comparison statement.
|
||||||
|
|
||||||
|
6. Figure out the result of the following expressions first without using console.log(). After you decide the result confirm it by using console.log()
|
||||||
|
1. 4 > 3 && 10 < 12
|
||||||
|
2. 4 > 3 && 10 > 12
|
||||||
|
3. 4 > 3 || 10 < 12
|
||||||
|
4. 4 > 3 || 10 > 12
|
||||||
|
5. !(4 > 3)
|
||||||
|
6. !(4 < 3)
|
||||||
|
7. !(false)
|
||||||
|
8. !(4 > 3 && 10 < 12)
|
||||||
|
9. !(4 > 3 && 10 > 12)
|
||||||
|
10. !(4 === '4')
|
||||||
|
11. There is no 'on' in both dragon and python
|
||||||
|
|
||||||
|
7. Use the Date object to do the following activities
|
||||||
|
1. What is the year today?
|
||||||
|
2. What is the month today as a number?
|
||||||
|
3. What is the date today?
|
||||||
|
4. What is the day today as a number?
|
||||||
|
5. What is the hours now?
|
||||||
|
6. What is the minutes now?
|
||||||
|
7. Find out the numbers of seconds elapsed from January 1, 1970 to now.
|
||||||
|
|
||||||
|
### Exercises: Level 2
|
||||||
|
|
||||||
|
1. Write a script that prompt the user to enter base and height of the triangle and calculate an area of a triangle (area = 0.5 x b x h).
|
||||||
|
|
||||||
|
```sh
|
||||||
|
Enter base: 20
|
||||||
|
Enter height: 10
|
||||||
|
The area of the triangle is 100
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Write a script that prompt the user to enter side a, side b, and side c of the triangle and and calculate the perimeter of triangle (perimeter = a + b + c)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
Enter side a: 5
|
||||||
|
Enter side b: 4
|
||||||
|
Enter side c: 3
|
||||||
|
The perimeter of the triangle is 12
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Get length and width using prompt and calculate an area of rectangle (area = length x width and the perimeter of rectangle (perimeter = 2 x (length + width))
|
||||||
|
1. Get radius using prompt and calculate the area of a circle (area = pi x r x r) and circumference of a circle(c = 2 x pi x r) where pi = 3.14.
|
||||||
|
1. Calculate the slope, x-intercept and y-intercept of y = 2x -2
|
||||||
|
1. Slope is m = (y<sub>2</sub>-y<sub>1</sub>)/(x<sub>2</sub>-x<sub>1</sub>). Find the slope between point (2, 2) and point(6,10)
|
||||||
|
1. Compare the slope of above two questions.
|
||||||
|
1. Calculate the value of y (y = x<sup>2</sup> + 6x + 9). Try to use different x values and figure out at what x value y is 0.
|
||||||
|
1. Writ a script that prompt a user to enter hours and rate per hour. Calculate pay of the person?
|
||||||
|
|
||||||
|
```sh
|
||||||
|
Enter hours: 40
|
||||||
|
Enter rate per hour: 28
|
||||||
|
Your weekly earning is 1120
|
||||||
|
```
|
||||||
|
|
||||||
|
1. If the length of your name is greater than 7 say, your name is long else say your name is short.
|
||||||
|
1. Compare your first name length and your family name length and you should get this output.
|
||||||
|
|
||||||
|
```js
|
||||||
|
let firstName = 'Asabeneh'
|
||||||
|
let lastName = 'Yetayeh'
|
||||||
|
```
|
||||||
|
|
||||||
|
```sh
|
||||||
|
Your first name, Asabeneh is longer than your family name, Yetayeh
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Declare two variables _myAge_ and _yourAge_ and assign them initial values and myAge and yourAge.
|
||||||
|
|
||||||
|
```js
|
||||||
|
let myAge = 250
|
||||||
|
let yourAge = 25
|
||||||
|
```
|
||||||
|
|
||||||
|
```sh
|
||||||
|
I am 225 years older than you.
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Using prompt get the year the user was born and if the user is 18 or above allow the user to drive if not tell the user to wait a certain amount of years.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
|
||||||
|
Enter birth year: 1995
|
||||||
|
You are 25. You are old enough to drive
|
||||||
|
|
||||||
|
Enter birth year: 2005
|
||||||
|
You are 15. You will be allowed to drive after 3 years.
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Write a script that prompt the user to enter number of years. Calculate the number of seconds a person can live. Assume some one lives just hundred years
|
||||||
|
|
||||||
|
```sh
|
||||||
|
Enter number of years you live: 100
|
||||||
|
You lived 3153600000 seconds.
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Create a human readable time format using the Date time object
|
||||||
|
1. YYYY-MM-DD HH:mm
|
||||||
|
2. DD-MM-YYYY HH:mm
|
||||||
|
3. DD/MM/YYYY HH:mm
|
||||||
|
|
||||||
|
### Exercises: Level 3
|
||||||
|
|
||||||
|
1. Create a human readable time format using the Date time object. The hour and the minute should be all the time two digits(7 hours should be 07 and 5 minutes should be 05 )
|
||||||
|
1. YYY-MM-DD HH:mm eg. 20120-01-02 07:05
|
||||||
|
|
||||||
|
[<< Dia 2](../Dia_02_Tipos_Dados/dia_02_tipos_dados.md) | [Dia 4 >>](../04_Day_Conditionals/04_day_conditionals.md)
|