На данный вопрос уже ответили:
Проводя некоторые тесты наткнулся на интересное поведение, которое не могу себе объяснить.
Код:
var a = {
toString: function(){return "It's a string"},
valueOf: function(){return 100}
};
console.log(a); /// Выводит объект (1)
console.log(+a); /// Выводит 100 в числовом типе (2)
console.log(""+a); /// Выводит "100" в строковом типе (3)
console.log(String(a)); /// Выводит "It's a string" (4)
А теперь по порядку:
Вопросы:
Что не так с пунктом 3? Какие ньюансы возникают, что интерпретатор так работает?
P.S Если я где-то не прав, поправьте.
Вопрос о конкатенации решается уже после преобразования обоих операндов в примитивы. Т.е. сначала происходит численное преобразование объекта (т.к. +
это математический оператор), а уже потом строковое (т.к. второй операнд строка).
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Как реализуется функция выборки элементов в DOM, с последующим кешированием? По сути задача не сложная, создать объект для сохранения результатов...
Всем доброго вечераВозникла проблема с owl carousel, при первой загрузке страницы width равен 0 и, естественно, слайдер не отображается
Возможно ли в JavaScript проверить, поддерживает ли браузер spread operator? Будет ли в этом браузере работать следующая конструкция?