Не чистые функции
Denis Putnov
Самописные
const SALT = 5
const VALUE = 2
// не чистая, т.к. есть зависимость от переменных извне
async function hashPassword(password) {
const hashedPassword = await bcript.hash(password, SALT)
return hashedPassword
}
// не чистая, т.к. есть зависимость от переменных извне
function addValue(x) {
return x + VALUE
}
// не чистая, т.к. есть побочный эффект (console.log, alert и тд)
function sayHi(name) {
console.log(`Hello, ${name}`)
}
// не чистая, т.к. результат зависит от другой нечистой функции
// ( Math.random )и возвращаемое функцией значение непредсказуемо
function dice() {
Math.floor(Math.random() * 6) + 1
}
Примеры из самого языка
Date.now()
Math.random()