Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Нестрогая типизация иногда зло.
при отладке обнаружилось что коллекция всё еще инициализировалась как массивЕсли бы сериализовался объект, то в нём не было бы тысяч null'ов. Проверка типов помогла бы увидеть проблему на раннем этапе.
books.push(book)
на books[getId()] = book
надо было еще и books = []
поменять на books = {}
, но я этого не сделал, а JS за типами не следит, и при том что id цифровой воспринял это как номер ячейки.Array.apply(null, Array(0x7fffffff))
Uncaught RangeError: Invalid array length
Ударив себя молотком по пальцу — не вини молоток
var x = [];
x[0x7fffffff]=0;
console.log(x);
Простой и не очень очевидный способ повесить chrome, firefox и nodejs внутри нативной функции