- Quick start
- Bcrypt, node-sass install faild solution
- Вопросы и ответы, решение пробелем
Установить NodeJS с официального сайта
// app.js
console.log('Hello world')
node app
First of all python 2-version must be installed
source: https://stackoverflow.com/questions/46515077/unable-to-install-node-sass-in-my-project
npm uninstall node-sass
rm package-lock.json
npm cache clean --force
npm update
npm i
- change
bcrypt
tobcryptjs
(its dep without need to build, but slower) - change
node-sass
tosass(dart-sass)
(its dep without need to build, but slower)
- В функциях которые
async
не ловяться ошибки, как их словить ? - Как проверить свойство обьекта на пустоту или
undefined
? - Упрощение тернарного (?:) оператора.
- Как сделать JS более производительным?
- Не всегда
undefined
это не обозначеное что-то. Может быть подмена "undefined":
1) В функциях которые async
не ловяться ошибки, как их словить ? (source)
//Option 1 - Use try catch within the function
async function doubleAndAdd(a, b) {
try {
a = await doubleAfter1Sec(a);
b = await doubleAfter1Sec(b);
} catch (e) {
return NaN; //return something
}
return a + b;
}
//🚀Usage:
doubleAndAdd('one', 2).then(console.log); // NaN
doubleAndAdd(1, 2).then(console.log); // 6
function doubleAfter1Sec(param) {
return new Promise((resolve, reject) => {
setTimeout(function() {
let val = param * 2;
isNaN(val) ? reject(NaN) : resolve(val);
}, 1000);
});
}
2) Как проверить свойство обьекта на пустоту или undefined
?
// if object === 'undefined', undefined
// else it will be 'number'
if(typeof from.date.year === 'number'){
console.log('Here')
} else{
console.log('ehhh')
}
3) Упрощение тернарного (?:) оператора.
// Тернарный оператор
let employeeName = (employee.Name != null ? employee.Name : "Unknown");
// Упрощенный стиль (php analog: $var ?? null)
var employeeName = employee.Name || "Unknown";
4) Как сделать JS более производительным?
https://medium.com/devschacht/3-tips-about-javascript-597c33a219d6
5) Не всегда undefined
это не обозначеное что-то. Может быть подмена "undefined":
const undefined = 'asd'
let ss = undefined
// Как нам проверить что переменная действительно "undefined"?
console.log(ss === undefined) // true !! - undefined стала строкой, созданой выше
console.log(ss === void 0) // false - "void 0" вернет действительно undefined, который нужен для проверки