Alors tu es nouveau en programmation ou tu essayes juste d'apprendre Javascript pour l'ajouter à tes autres compétences? Bienvenu! Cette série de tutoriels est faites pour toi et tu as juste une seule chose à faire, pratiquer ce que nous allons voir ensemble. Je ne cesserais jamais de le dire, ça ne sert à rien de lire des tutoriels sans pratiquer, la seule manière de vraiment apprendre à programmer, c'est de pratiquer.
Dans ce tutoriel, nous allons découvrir un peu ce que c'est Javascript, ces différentes versions, et voir les bases pour coder en Javascript. On commence tout de suite.
Ce tutoriel est le premier d'une série de tutoriels que j'écris sur la programmation en Javascript, Inscris-toidonc pour être sûr de ne rien rater des prochains tutoriels.
Le Javascript est l'un des langages de programmation le plus populaire, il est aujourd'hui utilisé dans presque tous les domaines rattachés à l'informatique: Web, Mobile, Logiciels de Bureau, Systèmes Embarqués, Machine Learning, Jeux Vidéos, … C'est dire donc que le domaine d'activité est énorme.
Le Javascript est aujourd'hui utilisé pour faire des applications web full stack (frontend et backend). La montée de Node.js ces dernières années a ouvert l'utilisation du Javascript sur le backend, ce qui relevait du domaine des langages tels Java, Python, PHP, Ruby, … Mais qu'est ce que c'est Javascript?
Javascript kezako?
Créé il y a de cela 20 bonnes années (c'est toujours bien l'histoire), le Javascript était le premier et le seul langage de scripts supporter par les navigateurs web. Il était principalement utilisé pour faire des animations sur des pages DHTML.
De nos jours, le Javascript a évolué et s'exécute comme on l'a vu dans l'introduction sur le frontend (sur le navigateur) mais aussi en backend (sur le serveur), ce qui a donc commencé comme un simple langage de scripts qui tourne dans un navigateur est devenu un langage mondiale utilisé presque partout. Le Javascript va donc s'exécuter sur tous matériels qui contient ce qu'on appelle un moteur Javascript, il en existe plusieurs dont V8 chez Google Chrome et Opera, SpiderMonkey chez Firefox, SquirrelFish chez Safari, … C'est ces moteurs qui lisent le Javascript et l'exécutent.
Pour un peu définir Javascript en quelques points, nous allons dire que le Javascript est:
- un langage de haut niveau: il ne fournit pas un accès de bas niveau à la mémoire ou au CPU, car il a été créé à l'origine pour les navigateurs qui n'en ont pas besoin.
- un langage dynamique: un langage dynamique exécute au moment de l'exécution de nombreuses tâches qu'un langage statique effectue à la compilation. Cela a des avantages et des inconvénients et nous donne des fonctionnalités puissantes telles que le typage dynamique, la liaison tardive, la réflexion, la programmation fonctionnelle, la modification de l'exécution de l'objet, etc.
- un langage dynamiquement typé: en Javascript, une variable n'a pas forcement un type prédéfini. Nous pouvons donc modifier le type d'une variable au cours de l'exécution du programme.
- un langage faiblement typé: par opposition aux typages forts, les langages faiblement typés n'imposent pas le type d'un objet, ce qui permet plus de flexibilité, mais nous refuse la sécurité et la vérification de type (quelque chose que TypeScript et Flow visent à améliorer)
- un langage interprété: Il est communément appelé langage interprété, ce qui signifie qu'il ne nécessite pas d'étape de compilation avant que le programme puisse être exécuté, contrairement au C ou Java, par exemple. En pratique, les navigateurs compilent Javascript avant de l'exécuter, pour des raisons de performances, mais cela est transparent pour vous: aucune étape supplémentaire n'est nécessaire.
- un langage multi paradigme: le langage n'applique pas de paradigme de programmation particulier, contrairement à Java par exemple qui impose l'utilisation de la programmation orientée objet ou le C qui impose la programmation impérative. Vous pouvez écrire du Javascript en utilisant un paradigme orienté objet, en utilisant des prototypes et la nouvelle syntaxe de classes (à partir de ES6). Vous pouvez écrire du Javascript dans un style de programmation fonctionnel, avec ses fonctions de première classe, ou même dans un style impératif (comme un C).
Faisons un petit mis en point, Le Javascript n'a rien à voir avec le Java. Le Java est un langage de Programmation de chez Sun Microsystems, et le Javascript un langage développé par Brendan Eich.
Pour la petite histoire (c'est toujours bien l'histoire je vous ai dit), le Javascript à la base s'appelait LiveScript, mais le Java existait déjà à l'époque et était déjà très populaire, les mainteneurs de Javascript ce sont donc dit que positionner leur langage comme étant le petit frère du Java allait pouvoir aider à bien positionner le langage, ils l'ont donc appelé JavaScript.
Mais aujourd'hui tout cela a changé, le Javascript a sa propre spécification appelé ECMAScript que nous allons voir tout à l'heure.
Versions de Javascript
Parlons maintenant de ECMAScript, ce nom un peu bizarre. ECMAScript (aussi appelé ES) est le standard sur le quel le Javascript est basé.
Ecma International est une association suisse de normalisation chargée de définir les normes internationales.
La première version de Javascript (LiveScript) en 1997 était appelé ES1, puis ES2 et ES3 en 1998 et 1999. Ensuite est sorti ES4 qui a été un vrai fiasco et qui a dû être abandonné (merci Wikipedia).
En décembre 2009 est sorti ES5 puis ES5.1 en Juin 2011.
En juin 2015, le Javascript a connu un changement majeur, l'ES2015 est sorti, le changement se voit déjà sur le nom. Le nom officiel c'est maintenant ES2015
et l'édition c'est ES6, aujourd'hui on trouvera plus ES6 comme nom que ES2015
, mais ça ne change rien. Cette version de Javascript à apporter des changements majeur sur la programmation même en Javascript tels les classes, les générateurs, … Depuis, chaque année, au mois de juin, une nouvelle version de Javascript est publié.
- ES2016 (ES7)
- ES2017 (ES8)
- ES2018 (ES9)
Bon, pour l'édition, vous prenez juste le dernier chiffre du nom officiel (ES2017 - 7) et vous ajoutez 1 (ES7+1 - ES8), la version de Javascript qui sortira donc cette année en 2019 (Juin) s'appellera donc ES2019 et l'édition va être ES10 (ES9+1).
Utilités du Javascript
Depuis le début de ce tutoriel, je ne cesse de le dire, le Javascript est aujourd'hui utilisé dans presque tout les domaines de la programmation informatique que nous connaissons, en passant par le web, le développement d'applications mobile, les jeux vidéos, le machine learning, …
Parlons ici des deux domaines les plus populaires, à savoir le développement web et mobile.
Sur le web, le Javascript nous permet aujourd'hui de faire des applications full stack, notre application sera donc entièrement codé en Javascript sur le frontend et le backend, ce qui est déjà extraordinaire en soit. A la base, on utilise un langage backend tel que le Java, PHP, Python et sur le frontend, bon on utilise Javascript, ce qui nous fait deux langages sur une seule et même application.
Toujours sur le web, le Javascript va nous permettre:
- de faire des choses sur le navigateur de l'utilisateur sans avoir à faire une requête vers le serveur (ce qui demande de recharger la page), ce qui est bien par exemple pour valider un formulaire
- Ajouter du code HTML dynamiquement, modifier le contenu de la page, modifier le style de la page suivant les actions du utilisateurs
- Faire des animations sur la page
De nos jours, il est impossible de voir une page web qui n'utilise pas du Javascript.
Maintenant sur le mobile, le Javascript nous permet aujourd'hui de faire des applications mobiles pour Android, mais aussi iOS, avec un seul codebase, nous avons nos applications, pas besoin donc de faire du Java à coté pour Android et du Swift pour iOS.
Le Javascript est donc très utilisé, aujourd'hui les applications mobiles de Facebook (Messenger, Instagram, …) tournent toutes sur du Javascript.
Voyons maintenant quelques styles syntaxique du Javascript.
Le point virgule
En Javascript, le point virgule n'est pas du tout obligatoire, d'ailleurs personnellement je préfère l'omettre et vous le verrez dans les exemples que nous allons voir ensemble. Il faut juste être très prudent dans ce cas, évitez par exemple décrire des instructions sur plusieurs lignes:
return
1+4
Ou aussi de commencer une ligne avec [
ou (
et vous serez sauve dans la plus part des cas. Utilisez un linter (ESLint) pour vous signalez les erreurs et rien ne vous arrivera de grave.
Commentaires
En Javascript, vous pouvez utiliser deux types de commentaire, les commentaires sur plusieurs lignes:
/*
Ceci est un commentaire sur plusieurs lignes
*/
et les commentaires sur une seule ligne:
// Ce commentaire tient sur une seule ligne
Sensibilité à la casse
Le Javascript est sensible à la casse, cela veut dire que variable
est différent de Variable
qui est aussi différent de VARIABLE
.
Ce qu'il faut retenir, c'est que le Javascript est aujourd'hui un langage très populaire et que si vous avez le temps de l'apprendre, n'hésitez surtout pas.
C'est fini pour cette première partie, rendez-vous la semaine prochaine pour la deuxième partie de cette série de tutoriels ou nous allons voir les variables et types de variables en Javascript.
A bientôt.
C'est fini pour ce tutoriel, si tu as des questions ou des problèmes, n'hésite pas, rends toi dans la section commentaire ci-dessous et explique nous ton problème.
Tu as aimé ce tutoriel? Partage le avec tes proches en cliquant sur les boutons ci-dessous. Sinon dis moi ce que tu n'a pas aimé, j'accepte les critiques :-)