Typescript

De Banane Atomic
Aller à la navigationAller à la recherche

Description

Superset de Javascript, ajoute de nouvelles fonctionnalités.

  • ajoute la vérification de type
  • génère du JS

Classe

Ts.svg
class MyClass {
    public myField:number = 0;

    get myProperty() {
        return this.myField;
    }
    set myProperty(val) {
        this.myField = val;
    }

    // créé un champs myField2 et l'instancie à la contruction
    constructor(private myField2:number) {
    }

    public myFunction(param1:string):boolean {
        return true;
    }
}

let myObject = new MyClass();
myObject.myField = 1;

Property has no initializer and is not definitely assigned in the constructor

Changer la configuration de typescript.

tsconfig.json
{
  "compilerOptions": {
    "strictPropertyInitialization": false
Ts.svg
// initialiser
myString: string = "";

myString!: string;

myString: string | undefined;

Basic Types

Ts.svg
let isDone: boolean = false;

let decimal: number = 6;

let color: string = "blue";

let today: Date = new Date();

let notSure: any = 4;

Array / Tableau

Ts.svg
let list: number[] = [1, 2, 3];

// ajouter un élément
list.push(4);

// insérer un élément à un index donné
list.splice(index, 0, 100)

// supprimer un élément
const index = list.indexOf(key, 0);
if (index > -1) {
   list.splice(index, 1);
}

for

Ts.svg
for (let item of items) { }

if else

Ts.svg
if () {

} else if () {

} else {

}

Import / Export

MyClass.ts
export class MyClass { }
main.ts
import { MyClass } from "./MyClass";

Compilation

tsconfig.json
{
    "include": [ "wwwroot/ts/**/*.ts" ],
    "compilerOptions": {
        "target": "es5",
        "sourceMap": true
    }
}

Ligne de commande

Bash.svg
# permet d'utiliser tsc
npm install -g typescript

# génère un fichier my-script.js
tsc my-script.ts

# exécution du code
node my-script.ts