A při:
var weight = 10
var size = 10
weight + size
? I zde výjimka?
tady nevidím problém.
Nevidíš problém? Sčítáš váhu s výškou. To ti přijde v pořádku?
To se hluboce pletes, scitas dve cisla stejneho typu. Az budes mit var weight = Weight(10) a var size = Size(10), pak to teprve nebude v poradku.
[/quote]
Nepletu. Nesmíš se dívat tak povrchně.
Vytvoříme tedy objekty na váhu a výšku, tak:
var weight = new Weight(8)
var size = new Size(9)
weight + size
tak mi to vyhodilo:
[object Object][object Object]
což je úsměvné.
Když přidám metodu:
Weight.prototype.sum = function(x) {this.val += x.val}
protože přetěžování operátorů asi nejde (minimálně o tom nevím).
Tak to opět nevyhazuje výjimku (pochopitelně).
Tím neobhajuju rozhodnutí autorů. Já bych taky
1 + "1" netoleroval. Jenže já jsem příznivcem typování. A javascript ho nemá. (Pomocí
x instaceof Weight si sice můžu ověřit, co mi tam leze, ale musím to dělat ručně. To je jakoby ho neměl.)