Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
например, +XXX вернёт число
var o = {};
o.valueOf() === o; // truefunction foo() {}
//console.log(foo.valueOf() === foo); // true
foo.valueOf = function () {
console.log("foo.valueOf is called");
return {};
};
foo.toString = function () {
console.log("foo.toString is called");
return {};
};
+foo;
-->
"foo.valueOf is called"
"foo.toString is called"
TypeError "can't convert foo to number"foo.valueOf(); // OK, объект foo.toString(); // OK, объект
Простое наследование в стиле Ruby для Javascript