WebDev - Front

description: Javascript, Typescript and Co. Messy notes to be split

lang: FR

Terminologie

NPM

Javascript

Pièges

class Truc {
    constructor(this) {
        this.msg;
    }
    print() {
        setTimeout(function(){
            console.log(msg);
        }.bind(thi))
    }
 

    /* Sont équivalents */
    print() {
        setTimeout(() => ){
            console.log(msg);
        })
    }
}

Import / export

Typescript

Infos

Types

On peut avoir une énumération de string à partir des clefs d'un objet:

type Point = {
    x: number,
    y: number
}

// "x" | "y"
type KeyPoint = keyof Point

// z = "x" ou z = "y"
function call(z : KeyPoint) {
    return z;
}

Webrowser

Storage

LocalStorage

Stockage natif des browser mais n'utilise pas indexedDB donc moins de fonctionnalités.

LocalForage

Stockage qui repose sur localStorage mais support l'asynchrone.

Bundler

Webpack

Transpiler

SASS

CSS

Tools

ESLint

Prettier

{
  "extends": [
    "some-other-config-you-use",
    "plugin:prettier/recommended"
  ]
  ...
  "plugins": [..., "prettier"]
}

Mrm

Husky

CJS vs ESM

Module Bundlers: Webpack

Webpack is a module bundler that allows to resolve dependencies to make file exportable via the web.

Optimise the code