Keresés

Új hozzászólás Aktív témák

  • Jim-Y

    veterán

    válasz martonx #4951 üzenetére

    Nem tudom emlékeztek-e, nemrég volt téma itt a topikban, a JavaScript the Weird Parts. Nem tudom, hogy ez ugyanaz-e vagy sem, de már az első bekezdésben kiverte a biztosítékot nálam: [link]

    < x=[0]
    > [0]
    < x===x
    > true
    < x===!x
    > false
    < Array(3)===",,"
    > false

    Nafene, akkor lehet mégiscsak user error? ;]

    js> typeof null
    "object"

    Ez mondjuk tényleg egy tervezési bug. Ez jogos. Illetve az is jogos, hogy a typeof és instanceof operator kicsit máshogy működik, mint ahogy azt az ember elvárná. De ez sem a nyelv hibája, csak max nem intuitív.

    js> 0.1+0.2==0.3
    false

    Megint csak... ez nem a nyelv hibája, hanem max a tervezőjéé aki rossz ábrázolási metodikát választott, merthogy ez más nyelvekben is így van:

    class NumberTest {
    public static void main(String[] args) {
    double a = 0.1;
    double b = 0.2;
    double res = 0.3;
    System.out.println(a+b); // 0.30000000000000004
    System.out.println(a+b == res); // false
    }
    }

    --------

    js> Math.max()>Math.min()
    false

    Ez megint mi, mintha az nézném, hogy console.log() > console.debug() ami mondjuk adna valami eredményt, én meg. Hűűűűű, na ez deszar.. -.-

    ---------

    js> true+true===2
    true
    js> true-true===0
    true

    Na.. mégiscsak ismeri a === operátort? Meg amúgy is, ki az a hülye aki explicit össze akar adni két boolean értéket?! Mert mi legyen az eredmény? Gondolom true+true legyen true. De akkor mi legyen true+false? Most akkor ilyen helyzetben a '+' legyen egy bináris és, vagy egy bináris vagy?! .. mekkora hírhajhász az ilyen.. :(((

Új hozzászólás Aktív témák

Hirdetés