Skip to content

Généralités

Concepts de base en programmation

  • Variables et constantes.
    • 💡 Losque le langage permet d'en créer facilement (exemples: JS, TS et Kotlin), il est recommandé de créer des constantes par défaut et de changer en variables au besoin.
  • Fonctions et arguments.
    • 💡 Beaucoup de langages permettent de donner des valeurs par défaut aux arguments.
  • Structures de contrôle: if, for, for-each, while
  • Interpolation de chaînes de caractères.
  • Différence entre typage statique et dynamique.
    • Typage statique: le type d'une variable ou d'un argument ne change pas.
    • Typage dynamique: le type d'une variable ou d'un argument peut changer.
  • Si le compilateur déduit le type d'une donnée dans certaines situation sans qu'on ait à l'expliciter, on dit que c'est un typage implicite. C'est aussi appelé l'inférence de types.

Préfixer ses classes, fonctions, variables et constantes par export permet de les rendre accessibles dans d'autres fichiers.

static_demo.ts
// Méthode globale (pas conseillée si on veut suivre l'orienté objet)
export function subsctract(x: number, y: number): number {
  return x - y;
}

export const gravity = 10;

export class MathUtils {
  // doit être appelé depuis la classe
  static readonly PI = 3.14;
  // doit être appelé depuis la classe
  static add(x: number, y: number): number {
    return x + y;
  }
  // doit être appelé depuis une instance
  multiply(x: number, y: number): number {
    return x * y;
  }
}

console.log(MathUtils.PI);
console.log(MathUtils.add(2, 5));

const mu = new MathUtils();
console.log(mu.multiply(2, 5));

// erreur
//console.log(MathUtils.multiply(2, 5));

// On ne peut pas appeler du statique depuis un objet en TS
// console.log(mu.PI);
// console.log(mu.add(2, 5));

Des clauses import en début de fichier permettent d'utiliser des symboles exportés par d'autres fichiers. Le doc de MDN montre les différentes syntaxes possibles de la clause import.

import_demo.ts
import { MathUtils, subsctract, gravity } from "./static_demo";

console.log(MathUtils.PI);
console.log(subsctract(10, -4), gravity);

Export et import en TypeScript

Quick tour of TypeScript
let amount: number = 400;
//amount = "Hello"; // error because TS est statically typed

// TypeScript allows to type implicitly in certain situations
const message = "hello";

function sayHello(s: string) {
  console.log(s);
}
sayHello("Hello");

// Type unions allows to allow multiple types to the same variable
let x: number | string = "Hello";
x = 5;
console.log(x);

// String interpolation possible with back-tick `
console.log(`I am an interpolated string ${x}, ${message}`);

Règles de nommage

  • Une variable porte un nom passif qui commence par une majuscule
  • Une variable de type collection (tableau, liste, etc.) porte un nom au pluriel
  • Le nom d'une fonction commence par un verbe.
    • Dans la plupart des langages, le nom d'une fonction commence par une minuscule.
  • Respecter le type de séparation entre les mots d'un identifiant
    • Kamel case
    • Snake case
    • Kebab case