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édenteProchaine révisionLes deux révisions suivantes | ||
web:javascript:typescript [2018/03/29 01:56] – [Typings] sgariepy | web:javascript:typescript [2019/04/01 19:19] – [Typings] sgariepy | ||
---|---|---|---|
Ligne 10: | Ligne 10: | ||
* 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 16: | ||
$ npm i -g tslint | $ npm i -g tslint | ||
+ | Fichier '' | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | ], | ||
+ | " | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | Exemple de fichier '' | ||
===== Compilation / Transpile ===== | ===== Compilation / Transpile ===== | ||
Ligne 31: | Ligne 44: | ||
- | ===== Typings | + | ===== Types ===== |
+ | 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 74: | ||
<code javascript> | <code javascript> | ||
- | class ICat { | + | interface |
name: string; | name: string; | ||
age: number; | age: number; | ||
Ligne 52: | Ligne 81: | ||
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