Pour créer un nouveau projet en Visual Studio Code, on va procéder de la manière suivante:
node -v npm -v
TypeScript est un langage open source qui s'appuie sur JavaScript, l'un des outils les plus utilisés au monde, en ajoutant des définitions de type statiques.
Les types fournissent un moyen de décrire la forme d'un objet, en permettant à TypeScript de valider que le code fonctionne correctement.
TypeScript peut etre installé directement depuis le Terminal, à l'aide de la commande suivante:
npm install typescript -g
sudo
devant la commande précédente.
npm init
dans le terminal. L'utilitaire va vous demander de fournir des informations sur le nouveau projet afin de remplir certains champs. Il faut tout simplement appuyer sur la touche Enter pour associer les valeurs par défaut.tsc --init
.tsc index.ts
. Cela générera le fichier .js correspondant. Ce fichier ne doit pas entre modifié, il sera utilisé seulement pour la compilation, car en reste on va travailler seulement avec les fichiers TypeScriptnode index.js
.
tsc: cannot be loaded because running scripts is disabled on this system
. Pour résoudre ce problème, vous devez suivre les étapes suivantes:
let isDone: boolean = false;
let decimal: number = 6; let hex: number = 0xf00d; let binary: number = 0b1010; let octal: number = 0o744;
let color: string = "blue"; color = 'red';
enum Color { Red, Green, Blue, } let c: Color = Color.Green;
function error(message: string): never { throw new Error(message); }
function sendWarning(): void { console.log("This is my warning message"); }
let list: number[] = [1, 2, 3]; let list: Array<number> = [1, 2, 3];
let x: [string, number]; // Initialize it x = ["hello", 10]; // OK // Initialize it incorrectly x = [10, "hello"]; // Error
let obj: { obj_property: string; } = { obj_property: "simple_object" };
Les variables sont utilisées pour stocker des données. Pour les déclarer, nous utiliserons l'un des mots-clés let
ou const
.
let x: number = 10; let x: number = 20; // error: can't re-declare 'x' in the same scope function f(x) { let x = 100; // error: interferes with parameter declaration } for(let i: number = 0; i< 2; i++) { let b: number = 2; console.log(i+b); } // Output: 2, 3 console.log(b) => error: b is not defined
const user_id = 9; const user = { name: "Aurora", id: user_id, }; // Erreur causée par l'essai d'assigner une nouvelle valeur a la constante 'user' user = { name: "Danielle", id: user_id, }; // Opération correcte, les champs de l'objet ne représentent pas de constantes, ils peuvent etre mis a jour user.name = "Tania"; user.name = "John"; user.id--;
Un module contient un ensemble de fonctions qui peuvent etre incluses dans une application afin d'utiliser des fonctionnalités plus complexes.
Pour installer des modules, on utilise npm install
. Le drapeau –save
les ajoutera automatiquement au fichier package.json (pour une installation globale, on utilise -g):
Example:
npm install lib_name --save
npm install @types/node –save-dev
.
Pour inclure un module installé dans l'application, avant de commencer a utiliser ce module il faut l'importer de la maniere suivante:
import * as module_name from 'module_name';
Pour lire le contenu d'un fichier, on utilise le module fs
, de la façon suivante:
import * as fs from 'fs'; let file_content: string; try { file_content = fs.readFileSync('./test.txt', 'ascii'); console.log(file_content); } catch(error) { console.log(error); }
import * as fs from 'fs'; let to_write: string = "sample text"; try { fs.writeFileSync('./test.txt', to_write); } catch(error) { console.log(error); }
En TypeScript, nous avons les instructions conditionnelles suivantes:
let x: number = 1; if(x === 1) { console.log(x); //l'instruction s'execute } if(x > 3) { console.log(x + 3); //l'instruction ne s'execute pas }
===
qui, par rapport a l'opérateur classique ==
réalise une vérification aussi en type et en valeur.
let x: number = 5; if(x < 3) { console.log(x + 3); } else { console.log(x + 1); //seulement cette instruction s'execute }
let x: number = 2; if(x < 3) { console.log(x + 3); //seulement cette instruction s'execute } else if (x > 4){ console.log(x + 1); }
let x: number = 2; switch(x) { case 1: console.log(x + 1); break; case 2: console.log(x + 2); //seulement cette instruction s'execute break; case 3: console.log(x + 3); break; default: console.log(x); //instruction qui s'execute si x n'est pas egal a 1, 2 ou 3 }
Les boucles peuvent exécuter un bloc de code plusieurs fois.
La boucle for parcourt un bloc de code un certain nombre de fois.
let x: number= 10; let sum: number = 0; for(let i = 1; i <= x; i++) { sum += i; } console.log(sum); //55
L'instruction for in itère sur les propriétés énumérables d'un objet. Pour chaque propriété distincte, les instructions peuvent être exécutées.
let array: number[] = [5, 7, 2, 9, 3] for(let i in array) { console.log("Value " + array[i] + " at index " + i); } /* Output: Value 5 at index 0 Value 7 at index 1 Value 2 at index 2 ... */
L'instruction for of permet de créer une boucle qui parcourt un objet itérable et qui permet d'exécuter une ou plusieurs instructions pour la valeur de chaque propriété.
let array: number[] = [5, 7, 2, 9, 3] for(let i of array) { console.log("Value " + i); } /* Output: Value 5 Value 7 Value 2 ... */
La boucle while parcourt un bloc de code tant qu'une condition spécifiée est vraie.
let x:number = 1; let sum:number = 0; while(x <= 10) { sum += x; x++; } console.log(sum); //55
Operateur | Description | Example |
---|---|---|
+ | Plus | x + y |
- | Moins | x - y |
* | Multiplication | x * y |
/ | Division | x / y |
% | Reste de la division | x % y |
== | Valeur d'égalité | x == y |
=== | Égalité de la valeur et du type | x === y |
!= | Valeur différente | x != y |
!== | Différence de la valeur ou du type | x !== y |
< | Moins grand | x < y |
⇐ | Moins grand ou égal | x ⇐ y |
> | Plus grand | x > y |
>= | Plus grand ou égal | x >= y |
! | Pas | !x |
&& | Et | x && y |
|| | Ou | x || y |
& | AND | x & y |
| | OR | x | y |
~ | NOT | x ~ y |
^ | XOR | x ^ y |
» | Right Shift | x » y |
« | Left Shift | x « y |
http
et de l'API gratuit de Cat Facts, créez une requête de type GET. Vous devez afficher sur l'écran le message contenu dans le champ text
pour l'objet ayant l'id “58e008780aac31001185ed05”. (1.5p)const numbers = [1, 2, 3, 4];
. Créez un programme qui affiche chaque élément de la liste numbers après une seconde. Indice: utilisez de module timers
. (1p)fs
et os
, écrivez dans le fichier os.info toutes les informations suivantes: (1p)(1×5=5, 2×5=10, 3×5=15 … 10×5=50)
(0.4p)1! + 4! + 5! = 145
(0.4p)* * * * * * * * * *
1234567654321 12345654321 123454321 1234321 12321 121 1