web:javascript:typescript
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
web:javascript:typescript [2018/03/29 01:56] – [Typings] sgariepy | web:javascript:typescript [2022/02/02 00:42] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 8: | Ligne 8: | ||
===== Linting ===== | ===== Linting ===== | ||
+ | |||
+ | < | ||
+ | |||
* Visual Studio Code a une extension : TSLint | * Visual Studio Code a une extension : TSLint | ||
- | * Linter Documentation : [[https:// | + | * Linter Documentation : [[https:// |
Pour installer: | Pour installer: | ||
Ligne 16: | Ligne 19: | ||
$ npm i -g tslint | $ npm i -g tslint | ||
+ | Fichier '' | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | ], | ||
+ | " | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | Exemple de fichier '' | ||
===== Compilation / Transpile ===== | ===== Compilation / Transpile ===== | ||
Ligne 31: | Ligne 47: | ||
- | ===== Typings | + | ===== Types definitions |
+ | Souvent on peut retrouver les définitions de types avec les packages '' | ||
+ | On peut aussi créer un fichier '' | ||
- | * Package : [[https:// | + | <code javascript> |
+ | declare module " | ||
+ | </code> | ||
+ | ===== Testing ===== | ||
+ | On peut utiliser Jasmine. | ||
+ | |||
+ | $ npm install jasmine | ||
+ | $ jasmine init | ||
+ | |||
+ | |||
+ | |||
+ | Karma | ||
+ | |||
+ | |||
+ | Jest | ||
Ligne 45: | Ligne 77: | ||
<code javascript> | <code javascript> | ||
- | class ICat { | + | interface |
name: string; | name: string; | ||
age: number; | age: number; | ||
Ligne 52: | Ligne 84: | ||
let fluffy: ICat; | let fluffy: ICat; | ||
</ | </ | ||
+ | |||
+ | On peut permettre d' | ||
+ | |||
+ | |||
+ | <code javascript> | ||
+ | interface ICat { | ||
+ | name: string; | ||
+ | age: number; | ||
+ | [prop: string]: any; | ||
+ | } | ||
+ | |||
+ | let fluffy: ICat = { | ||
+ | name: " | ||
+ | age: 2, | ||
+ | eyeColor: " | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | On peut le faire pour des fonctions. | ||
+ | |||
+ | < | ||
+ | interface myFn { | ||
+ | (n: number, m: number): number; | ||
+ | } | ||
+ | |||
+ | let addition: myFn; | ||
+ | addition = function(myNumber1: | ||
+ | return myNumber1 + myNumber2; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | TSLint semble plutôt privilégier cette syntaxe: | ||
+ | |||
+ | < | ||
+ | type IAdditionFn = (n: number, m: number) => number; | ||
+ | |||
+ | let addition: IAdditionFn; | ||
+ | addition = (myNumber1: number, myNumber2: number): number => { | ||
+ | return myNumber1 + myNumber2; | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
====== Classes ====== | ====== Classes ====== |
web/javascript/typescript.txt · Dernière modification : 2022/02/02 00:42 de 127.0.0.1