let obj = { valueOf() { return "2"; } }; alert(obj);
Я думал, что в отсутствие toString () valueOf () будет вызываться, когда ожидается строка.
Это не вызывает, потому что это найти toString в цепочке прототипов, если мы создадим объект без какого-либо прототипа, он будет вызывать
toString
let obj = Object.create(null) obj.valueOf = function() { return "2"; } alert(obj);