• [^] # Re: Elm

    Posté par (site web personnel) . En réponse au journal Et si JavaScript allait droit dans le mur ?. Évalué à 3. Dernière modification le 06 mars 2016 à 15:05.

    J'aime bien les fat arrows, mais plutôt celle de CoffeeScript que d'ES6. Bon, globalement, ça reste positif, mais j'aurais préféré moins de complexité.

    • les parenthèses sont optionnelles quand on a un seul argument (et uniquement dans ce cas)
    // Valide
    let inc = a => a + 1
    let dec = (a) => a - 1
    let add = (a,b) => a + b
    // Invalide
    let sub = a,b => a - b
    • Le comportement est différent selon que l'on utilise des accolades ou non
    // Le return est implicite
    let add = (a,b) => a + b
    add(3,5) // => 8
    // Mais pas ici
    let sub = (a,b) => { a - b }
    sub(5,3) // => undefined
    • Et comme les accolades définissent un bloc de code, on ne peut pas les utiliser pour renvoyer un objet. Il faut du coup penser à les entourer par des parenthèses...
    let foo = (a,b) -> ({ a: a, b: b })
    • (削除) Pourquoi avoir donné un sens spécial au caractère underscore ? Si je ne me trompe pas, il n'en avait pas jusque là. (削除ここまで)
    // Une fat arrow sans paramètre
    setInterval(_ => { console.log(new Date) }, 1000)