Прямо сейчас я читаю через вас Не знаю Типы JS & Грамматика Ch 4, где я натолкнулся на этот пример по принуждению. https://repl.it/D7w2Порядок операций, когда valueOf называется
var i = 2;
Number.prototype.valueOf = function() {
console.log("called"); //this logs twice
return i++;
};
var a = new Number(42);
if (a == 2 && a == 3) {
console.log("Yep, this happened."); //this is logged
}
Я не понимаю, почему все не от одного. Так как var i начинается с 2, когда он обращается к == 2, не должен возвращаться 3, а затем не должен возвращаться, когда запускается == 3?
'' я ++ возвращает значение перед приращением –