• PieMePlenty@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    2 days ago

    It does to some degree.

    • “11” is string, 1 is an int, because strings can be added (+) convert int to string and combine: “11”+“1” = “111”
    • “11” is string, 1 is an int, because strings cant be subtracted (-) convert string to int and combine: 11-1 = 10

    I’m not into JS so I don’t know how it takes priority. ints can be added too, so I guess its basing it on the first variable which is compatible with the operator: in the first case string, in the second case int.

    If this is how it works, it makes sense. But imo its a case of the designers being preoccupied with whether or not they could, they didn’t stop to think if they should.