let o = {
foo: function() { console.log('foo called') }
}
>> o.foo()
<- foo called
>> let a = 0;
<- undefined
>> window.a
<- undefined
function foo(x) {
this.x++
}
x
и свойство x
объекта this
- это разные вещи. window
или произвольного объекта - то делать надо это явно и прямо. Например:window.x = 0
window.x++
let propName = 'a'
window[propName] = 0
window[propName]++
Событие unhandledrejection происходит, когда Promise завершён с ошибкой, но на данную ошибку не установлен обработчик.
checkError().catch(console.error)
try-catch
в критичных местах - особенно на операциях ввода/вывода. Так же следует отловить конкретно эту ошибку и выяснить где именно она возникает. Есть возможность отлова глобальных ошибок: process.on('uncaughtException', (err, origin) => { ... });
Permission denied
- очевидно, что не хватает прав на запись в какой-то каталог. Смотрите детальные логи, что и куда там оно пытается сохранить. И либо давайте разрешения либо меняйте путь для сохранения.126 Command found but is not executable
{}
просто упрощенная запись new Object()
для создания объекта.