Skip to the content.

Retour

Il est possible de vérifier si une variable qui est censé contenir une fonction est null et ne pas l’appeller si c’est le cas :

function test(callback = null) {
    let func = callback?.() ?? reset();
    return func();
}

Ca fonctionne aussi avec les tableaux :

function test(array= null) {
  let first = array?.[0] ??? 0;
  return first
}

Il est possible de passer un objet en paramètre :

function test({nom='yolo', value = 5, obj = new MelObject()}){
  return obj.set_cookie(name, value);  
}

On peut faire un assignement destructurer, ça marche pour les tableaux et led objets

function test(...args) {  
    //tableau
    const [event, coca:note, cola:color] = args;
        let all_result = {
        r:event.call(note, color),
        base_code:event.code
    }

    //Objet
    const {r:result, base_code} =all_result ;
    return result;
}

Pour mesurer le temps : console.time(id) Pour arrondir une variable, au lieu d’utiliser Math.round() on peut utiliser l’opérateur ~~ qui est plus rapide.
ex : ~~15.29 => 15
Pour vider un tableau, la façon la plus optimisé de le faire est de lui mettre une taille de 0 :
array.length = 0 Idem si on veut fusionner 2 gros tableaux, il faut faire : Array.push.apply(arr1, arr2)
Il existe l’opéreateur , :

var a = 0; 
var b = ( a++, 99 ); 

//a = 1
// b = 99

Concernant les boucles, on peut créer une variable len pour éviter d’avoir à récup la taille à chaque fois.
On évite les try/catch dans une boucle.
for (var i = 0, len = arrayNumbers.length; i < len; ++i)

Les opérations basiques sont plus rapide qu’un appelle de fonction !
var min = Math.min(a,b); est moins bien que a < b ? a : b;

Utilise ++i au lieu de i++ dans une boucle, c’est mieux
Comparer avec les rvalues à gauche permet d’éviter la bug involontaires

En jquery, il vaut mieux faire :

.on('click', 'li', function(e)

que

.find('li').on('click' (...)

Pour convertir un string en entier, on peut faire :

var a = "15";
a = +a; 
console.log(a + 10); //25