• [^] # Re: Donc pour résumer...

    Posté par (site web personnel) . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 4.

    C'est pareil dans chaque language.

    En JavasSript par exemple, langage réputé plus "simple", quelqu'un pourrait essayer de savoir si un object a une propriété particulière

    if (obj[prop]) doSomething();

    On lui répondra que non c'est pas comme ça qu'il faut faire, il faut faire

    if (typeof(obj[prop] != "undefined")
     doSomething();

    Mais certains iront lui dire que il doit utiliser !== et non != et que il n'as pas besoin d'utiliser de ; en javascript parce que c'est moche. Mais d'autres diront que il faut utiliser des ; après tout car c'est plus correct et que ça évite certain problèmes.

    Mais en fait ça ne marche pas si la propriété en question est héritée depuis le prototype. Donc il faut faire.

    if (obj.hasOwnProperty(prop))

    Mas non, c'est pas suffisant, il faut en fait faire

    Object.prototype.hasOwnProperty.call(obj, prop)

    Enfin ce que je veux dire c'est que les piailleurs aiment pinailler. Et que on peu faire ça avec chaque langage.
    Le fait qu'il y ait des pinailleurs ne veux pas dire grand chose sur la qualité d'un langage.