Транслировать код на каком-то другом языке в JS ничто не мешало ни 10, ни 15 лет назад. И некоторые это делали. Но никто в здравом уме не занимался этим на полном серьёзе.
Уже сейчас можно транслировать в asm.js, который просто подмножество JS и это будет работать хоть в IE6.
И какой смысл работать с C++ в 2016 году, если не стоит задача быть ближе к железу, управлять памятью и всё та же пресловутая "эффективность"?
Ничего этого в браузере не будет. webasm будет исполняться в одной и той же виртуальной машине и песочнице, вне зависимости от того с какого языка он скомпилирован.
В первом в non-strict mode this будет глобальным объектом. В strict mode - null (или undef, не помню).
В втором в глобальной области, опять будет глобальный объект. Внутри метода - this этого метода. Видимо для сохранения контекста внутри методов это и сделано.
2016 год не лучший для изучения cofeescript, учите лучше es6 или typescript.
Наследование идёт по прототипам, конструктор только помощник в создании объекта.
instanceof смотрит .prototype у NoCar и соответственно true получается в итоге.
callback один раз вызван -> есть только один контекст -> product_new определён в нём -> разделяется всеми вложенными функциями
анонимка из each() вызывается для каждого элемента -> каждый раз свой контекст, в котором определён index -> анонимка из success() имеет доступ к тому index, который определён в том же контексте, что и она
Всю жизнь и во всех языках при большом количестве строк быстрее было собрать их в массив и потом один раз сделать join().
Правда, в последних js-движках уже разницы особой не видно.