1 of 70

PROGRAMME CODE

DIGISTART JS

2 of 70

2

Déroulé de la séance

Questions et Récap du cours précédent (5 mins)

Cours (15 mins x 3)

Exercices (20 mins x 3)

Révisions (10 minutes)

3 of 70

var message = 'On est les champions !!!' ;

3

Rappel: Variables - syntaxe

mot clé var

valeur

nom de variable

signe égal

point virgule

4 of 70

Introduction à JavaScript

4

QUIZ

Comment lier un fichier JS

à un fichier HTML ?

5 of 70

Introduction à JavaScript

5

QUIZ

Comment lier un fichier JS

à un fichier HTML ?

<script src="leCheminDeMonFichier">

6 of 70

Introduction à JavaScript

6

QUIZ

Dans quelle balise HTML allons-nous mettre la balise

<script> ?

7 of 70

Introduction à JavaScript

7

QUIZ

Dans quelle balise HTML allons-nous mettre la balise

<script> ?

<html>

<head>

<title>Konexio</title>

<script src="./main.js">

</script>

</head>

</html>

8 of 70

Introduction à JavaScript

8

QUIZ

Que fait-on ici ?

var myAge;

myAge = 26;

myAge = 27;

var myAge; // déclaration

myAge = 26; // assignation

myAge = 27; // réassignation

9 of 70

Introduction à JavaScript

9

QUIZ

Que fait-on ici ?

var myAge;

myAge = 26;

myAge = 27;

10 of 70

Correction des exercices

Live coding

10

Introduction à JavaScript

11 of 70

11

COURS

12 of 70

12

  1. Types de données (String, Number, Boolean…)
  1. Fonctions
  1. Propriétés et méthodes

Plan du cours

13 of 70

13

1

Types de données

14 of 70

Définition

Les types de données en JavaScript, servent à décrire/représenter les types d'informations (qu'on stocke dans des variables).

Chaque type de données a des opérations et des comportements qui leurs sont propres.

Cela permet de les manipuler et de faire des opérations avec.

14

Types de données en JavaScript - définition

15 of 70

Définition

En clair on peut utiliser JavaScript pour décrire des concepts de la vie courante en code…

Par exemple:

  • le nom d'une personne ou d'un joueur de foot
  • l'âge d'une personne ou un nombre de buts d'un joueur
  • si cette personne aime le foot ou non
  • si cette personne a répondu à la question ou non

15

Types de données en JavaScript - définition

16 of 70

Définition

Le type de données permet à l'ordinateur, qui interprète le code de savoir quoi faire avec ce code.

var x = 42 + "bonjour" ;

16

Types de données en JavaScript - définition

17 of 70

Les types dont on va parler:

  • undefined
  • null
  • String
  • Number
  • Boolean

On ne parlera pas du type Object qui sera utilisé plus tard dans le cours de Structures de Données.

17

Types de données en JavaScript - définition

18 of 70

Exemples

console.log(lesBleus); // undefined (Reference Error)

var vainqueur = null; // null

var nombreDeJoueurs = 11; // Number

var message = 'On est les champions !!!'; // String

var konexioIsCool = true; // Boolean

18

Types de données en JavaScript - exemples

19 of 70

undefined

undefined est le type d'une variable non définie, ou qui n'a pas de valeur définie.

var message; // undefined

var coucou = undefined;

19

Types de données en JavaScript - undefined

20 of 70

null

null est le type d'une variable de valeur nulle. Par exemple, au début d'un jeu il n'y a pas de vainqueur, on peut initialiser la variable winner avec null.

Elle est définie, mais n'a pas de valeur pour le moment.

var winner = null;

var name = null;

20

Types de données en JavaScript - null

21 of 70

String

Une string ou chaîne de caractères sert à contenir du texte pour par exemple l'afficher à un utilisateur.

var message = "On est les champions ! " ;

var name = "Simon" ;

21

Types de données en JavaScript - String

22 of 70

Concaténation - caractéristique des String

var greeting = "Bonjour ";

var teacher = "Simon";

greeting + teacher;

// "Bonjour Simon"

"salut " + 'les gens'

// "salut les gens"

Concaténer veut dire mettre ensemble pour former un tout, joindre, assembler.

22

Types de données en JavaScript - String

23 of 70

Number

var sum = 2 + 2; // 4

var total = 8 - 1; // 7

var product = 3 * 2; // 6

var power = 2 ** 3; // 8

var divide = 9 / 3; // 3

var modulo = 7 % 2; // 1

var num1 = 30;

var num2 = 12;

num1 + num2 // Outputs: 42

En JavaScript, on peut faire toutes les opérations courantes de mathématiques avec les nombres :

Addition

Soustraction

Multiplication

Puissances

Division

Modulo* (reste de division)

*explication modulo: 7 = 2*3 + 1 donc 7%2 = 1

23

Types de données en JavaScript - Number

24 of 70

Number

On peut aussi incrémenter et décrémenter des variables qui contiennent des nombres.

var i = 1;

i++ // output: 2

// est equivalent a

i = i + 1; // output: 3

i-- // output: 2

// est equivalent

i = i - 1; // output: 1

24

Types de données en JavaScript - Number

incrémenter (ajouter 1)

décrémenter (retirer 1)

25 of 70

Boolean

var konexioIsCool = true;

var learningCodeIsBoring = false;

Les booléens sont des opérateurs logiques qui servent à décrire une chose par un état: vrai (true) ou faux (false).

25

Types de données en JavaScript - Boolean

26 of 70

Boolean - Exemple

Savoir si quelque chose est �vrai ou faux va nous permettre �de mettre des conditions dans �notre code.

Imaginez un jeu où scoreA et scoreB sont les scores du joueur A et du joueur B.

Le scoreA est-il plus grand que scoreB ?

Si oui (si l’affirmation est true), alors A a gagné.�Sinon...

var scoreA = 7;

var scoreB = 8;

26

Types de données en JavaScript - Boolean

27 of 70

typeof

Pour savoir à quel type de données appartient une variable, vous pouvez utiliser l'opérateur typeof.

var message = "coucou";

console.log(typeof message); // "string"

27

Types de données en JavaScript - typeof

28 of 70

console.log('Hello');

var vainqueur = null; // null

var nombreDeJoueurs = 11;

// Number

var message = 'On est les champions !!!'; // String

var konexioIsCool = true;

// Boolean

typeof message; // String

Exercices

Types de données en JavaScript

28

EXERCICE MEMO

  1. Dans chaque dossier de session, il y a d’autres dossiers d’exercices
  2. Chaque dossier d’exercice a un README.md où se trouvent les instructions
  3. Toujours ouvrir index.html dans le navigateur
  4. Ouvrir la console du navigateur
  5. Rafraîchir la la page après chaque changement

29 of 70

29

2

Les fonctions

30 of 70

Définition

Les fonctions sont un concept en JavaScript et dans de nombreux langages de programmation.

Elles servent à écrire du code de manière à pouvoir le réutiliser à plusieurs endroits.

Exemple:

Je dois écrire du code pour afficher dans la console "Hello" suivi du nom de la personne pour chaque personne dans la pièce...

30

Les fonctions - définition

31 of 70

Solution 1 (WET)

Write Everything

Twice

J'écris 4 lignes de code avec chacun des prénoms des personnes dans la pièce...

OU...

console.log("Hello Simon");

console.log("Hello Yveline");

console.log("Hello Dara");

console.log("Hello Guillaume");

31

Les fonctions - exemple simple

32 of 70

Solution 2 (DRY)

Don't Repeat

Yourself

J'écris une fonction qui fait le travail à ma place et je l'appelle pour chacune des personnes ?

function sayHello(name) {

console.log("Hello ", name);

}sayHello("Simon");

sayHello("Yveline");

...

32

Les fonctions - exemple simple

33 of 70

Calculer en utilisant l'identité remarquable (a+b)2 pour les cas suivants 2 et 9, 98 et 2032, 987 et 433.

var result1 = 2*2 + 2*2*9 + 98*98;

var result2 = 98*98 + 2*98*2032 + 2032*2032;

var result3 = 98*987 + 2*987*433 + 433*433;

ou

function sumSquare(a, b) {

return a * a + 2 * a * b + b * b;

}

var result1 = sumSquare(2,9);

33

Les fonctions - exemple complexe

34 of 70

function sayHello ( name ) {

console.log("Hello ", name);

}

34

Les fonctions - déclaration - syntaxe

mot clé function

paramètre

nom de

la fonction

parenthèses

accolades

corps de

la fonction

35 of 70

Appel d'une fonction

Pour exécuter une fonction et obtenir son résultat ou produire son effet, il faut l'appeler. Si cette fonction a des paramètres il faudra l'appeler en lui passant des arguments.

function sayHello(name) {

console.log("Hello ", name);

}

sayHello("Simon");

35

Les fonctions - appel d'une fonction

36 of 70

function sayHello ( name ) {

console.log("Hello ", name);

}

sayHello ( "Simon" );

36

Les fonctions - déclaration et appel - syntaxe

paramètre

nom de

la fonction

Déclaration

Appel

nom de

la fonction

argument

37 of 70

Paramètres d'une fonction

Une fonction peut avoir plusieurs paramètres.

Ils sont séparés par des virgules dans la déclaration de la fonction.

Lorsqu'on appelle la fonction on sépare les arguments par une virgule.

function sumNumbers(a, b) {

return a + b;

}

sumNumbers(1, 2); // 3

37

Les fonctions - paramètres d'une fonction

38 of 70

Mot clé "return"

Le mot clé return sert à retourner le résultat de la fonction pour le rendre disponible à l'extérieur de celle-ci.

return fait sortir de l'exécution de la fonction.

function sumNumbers(a, b) {

return a + b;

console.log("a est ", a, "b est ", b);

}

sumNumbers(1, 2); // 3

38

Les fonctions - mot clé return

Ce morceau de code n'est pas exécuté, on sort de la fonction avant

39 of 70

Mot clé "return"

var total = sumNumbers(2, 3);

console.log(total + 3); // log: 8

function logSumNumber(a, b) {

console.log(a + b);

}

logSumNumber(1, 2); // log: 3

function sumNumbers(a, b) {

return a + b;

}

sumNumbers(1, 2); // 3

39

Les fonctions - mot clé return

cette fonction a un retour

on peut le stocker dans une variable et le ré-utiliser

cette fonction n'a pas de retour, mais elle affiche la somme

40 of 70

function addOne(a) {

return a + 1;

} // déclaration

addOne(3); // appel

// output: 4

Exercices

Les fonctions

40

  • Dans chaque dossier de session, il y a d’autres dossiers d’exercices
  • Chaque dossier d’exercice a un README.md où se trouvent les instructions
  • Toujours ouvrir index.html dans le navigateur
  • Ouvrir la console du navigateur
  • Rafraîchir la la page après chaque changement

EXERCICE MEMO

41 of 70

41

3

Propriétés et

méthodes

42 of 70

Définitions

Les valeurs ont des propriétés et des méthodes selon leur type de données.

Les propriétés sont des caractéristiques qui définissent ces valeurs, et les méthodes ce sont des outils (comme des fonctions) qu'on peut utiliser dessus.

Nous verrons tout cela à travers quelques exemples

42

Propriétés et méthodes - propriétés

43 of 70

Accéder à une propriété

Pour accéder à une �propriété d'une valeur, �on peut :

- mettre un point derrière le nom de la variable

- mettre un point directement après la donnée.

var message = "lol";

message.length

43

Propriétés et méthodes - propriétés

44 of 70

Exemple de propriété - String

Une valeur de type String a une propriété length ("longueur"), qui renvoie la longueur de la chaîne de caractères.

var myString = "Hello !";

myString.length; // output: 7

44

clé

valeur

length:

Propriétés et méthodes - propriétés

7

45 of 70

Appeler une méthode

var myString = "HELLO";

myString.toLowerCase();

Pour appeler une �méthode sur une variable,

il faut mettre :

  • un point
  • puis le nom de la méthode
  • des parenthèses pour appeler la méthode, contenant éventuellement des paramètres.

45

Propriétés et méthodes - méthodes

46 of 70

Exemple de méthode - String

Le type de données String a une méthode toLowerCase qui veut dire "vers la casse inférieure" et qui renvoie la chaîne de caractères convertie dans la casse inférieure.

var myString = "HELLO";

console.log(myString.toLowerCase()); // log: "hello"

46

Propriétés et méthodes - propriétés

47 of 70

var myString = "HELLO";

console.log(myString.length); // affiche 5 dans la console

console.log(myString.toLowerCase()); // affiche "hello" dans la console

Exercices

Les fonctions

47

  • Dans chaque dossier de session, il y a d’autres dossiers d’exercices
  • Chaque dossier d’exercice a un README.md où se trouvent les instructions
  • Toujours ouvrir index.html dans le navigateur
  • Ouvrir la console du navigateur
  • Rafraîchir la la page après chaque changement

EXERCICE MEMO

48 of 70

Récapitulatif

48

  • Nous avons vu différents types aujourd’hui: undefined, null, String, Number, et Boolean.
  • Le type undefined montre que la variable n’a pas de valeur définie, alors que le type null indique que la valeur est nulle.
  • Les valeurs de type String s’écrivent entre guillemets simples ou double, contrairement aux Number.
  • Le type Boolean n’a que deux valeurs possibles : true et false, sans guillemets.

49 of 70

Récapitulatif

49

  • Les fonctions peuvent être déclarées et appelées.
  • Elles peuvent prendre des paramètres.
  • Elles peuvent retourner une valeur avec le mot clé return.
  • Elles permettent d’éviter de répéter des lignes de code (WET vs DRY).
  • Il existe des propriétés en JavaScript qui permette d’accéder à des caractéristiques.
  • Il existe des fonctions préexistantes en JavaScript qui s’appellent des méthodes.

50 of 70

50

ANNEXES

51 of 70

Contraintes de nommage

Les noms de variables en JavaScript ne peuvent pas contenir de caractères spéciaux, ni d'espace et doivent toujours démarrer par une lettre.

var 9m%e$$age = "bonjour";

var message = "bonjour";

51

Variables - contraintes de nommage

52 of 70

Conventions - nommage descriptif

Les noms de variables décrivent ce que contient la variable, afin que le code soit plus facile à comprendre.

var cheval = "bonjour";

var message = "bonjour";

52

Variables - conventions

53 of 70

Conventions - camelCase

En JavaScript les noms de variables s'écrivent en camelCase.

C'est une convention d'écriture qui consiste à retirer les espaces entre les mots et mettre en lettre majuscule la première lettre du mot après l'espace. e.g. mon message ⇒ monMessage

var myMessage = "bonjour";

53

Variables - conventions

54 of 70

En JavaScript, on dit que le typage est dynamique.

var maVariable; // undefined

maVariable = "Simon"; // string

maVariable = 7; // number

maVariable = true; // boolean

Cela veut dire qu'une variable est du type de ce qu'elle contient et qu'elle changera de type si on change sa valeur (qu'on la réassigne).

54

Types de données en JavaScript - typage

55 of 70

String - la syntaxe

Une string démarre par un guillemet double ou simple et se termine par un guillemet double ou simple.

var message = "On est les champions ! " ;

ou

var message = 'On est les champions ! ' ;

55

Types de données en JavaScript - String

56 of 70

String - la syntaxe… encore

Si votre string contient des apostrophes ' vous pouvez utiliser les guillemets doubles (double quotes " " )

ou

utiliser des guillemets simples (simple quotes ' ' ) et échapper les apostrophes avec anti-slash "\".

var message = "J'ai regardé le match" ;

ou

var message = 'J\'ai regardé le match' ;

56

Types de données en JavaScript - String

57 of 70

Accéder à un caractère spécifique d'une chaîne de caractères

On peut accéder au caractère d'une chaîne de caractères en accédant à son indice (sa position dans la chaîne).

JavaScript est indexé à zéro c'est à dire qu'on commence à compter à partir de 0.

Le premier élément d'un ensemble a l'indice 0.

On voit ça tout de suite dans un exemple !

57

Types de données en JavaScript - String

58 of 70

Accéder à un caractère spécifique d'une chaîne de caractères

var str = "Bonjour";

"Bonjour"

La variable str avec ses indices:

58

Types de données en JavaScript - String

1

0

2

3

4

5

6

59 of 70

Accéder à un caractère spécifique d'une chaîne de caractères

Pour accéder au premier caractère de la chaîne de caractère, on écrit :

var str = "Bonjour";

str[0]; // output: "B"

ou

"Hello"[2]; // output "l"

59

Types de données en JavaScript - String

Et ça fait quoi str[23]?

60 of 70

Number

On peut aussi raccourcir l'écriture d’une somme récursive.

var j = 0;

j = j + 2;

j+=2;

60

Types de données en JavaScript - Number

ces deux lignes font

la même chose

61 of 70

Boolean - fonction Boolean()

La fonction Boolean() permet d'évaluer une valeur en booléen.

Elle peut être utile lorsqu'on compare des booléens ou pour faire des tests logiques sur des variables de type non booléen.

var data = "";

Boolean(data); // false

61

Types de données en JavaScript - Boolean()

62 of 70

Regardez ces liens

62

Pour aller plus loin 1/2

63 of 70

Regardez ces liens (Avancé)

63

Pour aller plus loin 2/2

64 of 70

64

65 of 70

65

Parallèle machine / fonction

F* DAT SH*T

I'LL BUILD A MACHINE

me

66 of 70

66

Logique

Input/Entrée

Créer une machine pour faire le travail

Mécanisme

Output/Sortie

Paramètre(s)

Retour

Machine à couper le bois

Fonction

67 of 70

67

num1+num2

Utiliser la machine

Une fonction c'est comme une machine, vous la construisez et ensuite il faut s'en servir… sinon ça ne sert à rien

num1, num2

résultat

Machine à calculer

3+4

3, 4

7

Machine à calculer

"You gotta use the machine Larry"

68 of 70

68

Mécanisme

Input/Entrée

Schéma fonction Garbage In Garbage Out

Mécanisme

Output/Sortie

Machine à couper le bois

Machine à couper le bois

69 of 70

69

70 of 70

70