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:44] – sgariepy | web:javascript:typescript [2018/03/29 03:38] – [Interface] 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 '' | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | ], | ||
+ | " | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | </ | ||
- | ====== Compilation / Transpile | + | Exemple de fichier '' |
+ | ===== Compilation / Transpile ===== | ||
En installant TypeScript, on installe un // | En installant TypeScript, on installe un // | ||
$ tsc fichier.ts | $ tsc fichier.ts | ||
+ | | ||
+ | Avec le sourcemap: | ||
+ | $ tsc --sourceMap true fichier.ts | ||
- | |||
- | ====== Typings ====== | ||
+ | ===== Typings ===== | ||
* Package : [[https:// | * Package : [[https:// | ||
+ | ===== Testing ===== | ||
+ | On peut utiliser Jasmine. | ||
+ | |||
+ | $ npm install jasmine | ||
+ | $ jasmine init | ||
+ | |||
+ | |||
+ | |||
+ | Karma | ||
+ | |||
+ | |||
+ | Jest | ||
Ligne 41: | Ligne 68: | ||
<code javascript> | <code javascript> | ||
- | class ICat { | + | interface |
name: string; | name: string; | ||
age: number; | age: number; | ||
Ligne 48: | Ligne 75: | ||
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