Чистая функция: 1. При одних и тех же входных параметрах, возвращяет оди и тот же результат (Результат относительно входных параметров, всегда предопределен); 2. Не должна взаимодействовать с внешними данными (чтение/запись) (может работать только с данными относящимися к области видимоси функции); 3. Имутабельность входных данных;
Про названия функций, переменных, объектов и тд..... в видео-уроках, статьях на 100% с Вами согласен! Как блин назовут , что пока прочитал забыл что было до нее....
встречал холивар по поводу внешних переменных, допустим: const vat = 0.2 function sum(price, serv) { return price * vat + serv; } sum(450, 55) суть в том что внешняя переменная обьявлена через константу, следовательно она иммутабельна, по сути это нарушения правила которое гласит что не должны использоваться внешние переменные, но это правило писалось когда переменные обьявлялись только с помощью var, как вы на это смотрите ?
я не могу ответить на этот вопрос, поскольку такое написание очень зависит от контекста. Если это действительно константа, то вопросов нет, а если это использование переменной в константу - как это стало модно после ввода const то это чуть странно. Но повторюсь - зависит от задач. Смотрите - в вашем примере - нет ничего страшного - если эта функция будет вызываться во многих блоках программы, то каждый раз придется лазить смотреть что за vat объявлен - уже не удобно. - для тестов - в будущем - та же проблема - придется постоянно оглядываться на эту переменную - но если ее вынести в конфиги - то получается очень удобный способ например для расчета процента налога... Поэтому нужно смотреть на контекст.
А если в теле функции используется (и влияет на возвращаемое функцией значение) Math.random() или, скажем, вычисление текущей даты, то такая функция по определению не чистая, я правильно понимаю?
Лучше использовать нормальное название функции, чем либо называть ее "a" и использовать внутри ее с тем же названием аргумента. Собственно как у Вас было во время кодинга и получение значения NAN
Столько воды, столько слов, а толком не объяснено. Если по-простому то чистая функция это та которая не зависит от внешних параметров и переменных, а только лишь от аргументов передаваемых ей.
Чистая функция:
1. При одних и тех же входных параметрах, возвращяет оди и тот же результат (Результат относительно входных параметров, всегда предопределен);
2. Не должна взаимодействовать с внешними данными (чтение/запись) (может работать только с данными относящимися к области видимоси функции);
3. Имутабельность входных данных;
Супер! Можно весь MDN скинуть.
@@itgid Умные люди они такие!)))
В смысле?
Спасибо за этот комментарий
@@admenmod Спасибо за более точное определение понятия Pure Function! 👍
Спасибо Александр!
Не так давно провалил эту тему на собесе, вот наверстываю. Спасибо. Законспектировал.
За картинку «лимон с бензопилой» отдельный лайк 👍
Вы не представляете как я люблю искать эти изображения.
1:12 эхх, мне этого не хватает, спасибо, Александр
Спасибо за ролик! Стало ясно что такое побочные эффекты.
Видео от Александра, автоматом лайк!
спасибо!
Про названия функций, переменных, объектов и тд..... в видео-уроках, статьях на 100% с Вами согласен! Как блин назовут , что пока прочитал забыл что было до нее....
Я рад, что не один так думаю.
встречал холивар по поводу внешних переменных, допустим:
const vat = 0.2
function sum(price, serv) {
return price * vat + serv;
}
sum(450, 55)
суть в том что внешняя переменная обьявлена через константу, следовательно она иммутабельна, по сути это нарушения правила которое гласит что не должны использоваться внешние переменные, но это правило писалось когда переменные обьявлялись только с помощью var, как вы на это смотрите ?
я не могу ответить на этот вопрос, поскольку такое написание очень зависит от контекста. Если это действительно константа, то вопросов нет, а если это использование переменной в константу - как это стало модно после ввода const то это чуть странно. Но повторюсь - зависит от задач. Смотрите
- в вашем примере - нет ничего страшного
- если эта функция будет вызываться во многих блоках программы, то каждый раз придется лазить смотреть что за vat объявлен - уже не удобно.
- для тестов - в будущем - та же проблема - придется постоянно оглядываться на эту переменную
- но если ее вынести в конфиги - то получается очень удобный способ например для расчета процента налога...
Поэтому нужно смотреть на контекст.
Спасибо большое! Доступно, понятно)
Спасибо, очень понятно и подробно!
Реально считаю автора сеньёром по разговору и по коду! :)
помидором?)
гордоновский юморов подъехал
@@truedivan )))есть такое
спасибо
Спасибо за урок ! С меня лайк !
Нормас пояснил )))
Вы можете сделать в emmet быстрый вызов часто используемых команд, например, для document.querySelector и др.? Сократится ваше время записи кода
Только не [пуэ], а [пьё] ближе к правильному произношению)
Спасибо
пюре
пю
Хорошее видео !
Не понял но интересно!
лайк
А если в теле функции используется (и влияет на возвращаемое функцией значение) Math.random() или, скажем, вычисление текущей даты, то такая функция по определению не чистая, я правильно понимаю?
+
как думаете с чего начать изучение JS новичку
Real Sport например с этого канала)
Было бы желание, а способ найдется!) В интернете много инфы!
Начинай изучение с HTML и CSS. Только потом переходи к JS.
itgid.info/course/javascript-2 отсюда
Мы работаем с нечистой силой ))))
+
Лучше использовать нормальное название функции, чем либо называть ее "a" и использовать внутри ее с тем же названием аргумента. Собственно как у Вас было во время кодинга и получение значения NAN
видео только вышло, уже столько просмотров.)) сразу видно качественный ресурс.)))
Вот не пойму, прикалываетесь или поддерживаете?
@@itgid все огонь Алекс, спасибо за уроки!
Не будем мы Вас убивать - мы лучше Вас послушаем и посмотрим
Столько воды, столько слов, а толком не объяснено.
Если по-простому то чистая функция это та которая не зависит от внешних параметров и переменных, а только лишь от аргументов передаваемых ей.
Все тут понятно