Size: a a a

2019 June 02

YK

Yuri Katkov in javascript_ru
если ты передашь любой объект в функцию и функция в нем что-то поменяет - значит она поменяла свое окружение
источник

DE

Denis Efremov in javascript_ru
Чистая функция:

function getFour () { return 4 }
источник

DE

Denis Efremov in javascript_ru
Yuri Katkov
мой пойнт в том, что если ты используешь this внутри своей функции, но ты не передал this через аргументы функции - функция не чистая
Но тут ты говоришь о каком то this
источник

DE

Denis Efremov in javascript_ru
Статические функции - это не чистые функции
источник

YK

Yuri Katkov in javascript_ru
да как же нет?
источник

YK

Yuri Katkov in javascript_ru
статические функции не используют this
источник

YK

Yuri Katkov in javascript_ru
поэтому они отлично способны быть чистыми если ты не делаешь что-то, что делает их грязными
источник

DE

Denis Efremov in javascript_ru
Чистыми способны быть и обычные функции
источник

YK

Yuri Katkov in javascript_ru
тут не поспоришь 😄
источник

YK

Yuri Katkov in javascript_ru
а вот любые функции, использующие this - чистыми быть не могут никогда
источник

DE

Denis Efremov in javascript_ru
А возможно написать туду лист на чистых функциях?
источник

YK

Yuri Katkov in javascript_ru
мне кажется, нет
источник

DE

Denis Efremov in javascript_ru
Yuri Katkov
а вот любые функции, использующие this - чистыми быть не могут никогда
Они могут не изменять его, оставаясь чистыми
источник

YK

Yuri Katkov in javascript_ru
Denis Efremov
Они могут не изменять его, оставаясь чистыми
неа, если они хоть раз прочитали из this - они уже не детерминистичные
источник

YK

Yuri Katkov in javascript_ru
вот пример
источник

YK

Yuri Katkov in javascript_ru
function f() {
  return this.a;
}
источник

YK

Yuri Katkov in javascript_ru
это не чистая функция, потому что в зависимости от того, чему равен this она вернет разный результат. Получается ее out определяется чем-то кроме ее аргументов.
источник

YK

Yuri Katkov in javascript_ru
при этом this она не меняет
источник

k

kolay` in javascript_ru
Yuri Katkov
это не чистая функция, потому что в зависимости от того, чему равен this она вернет разный результат. Получается ее out определяется чем-то кроме ее аргументов.
Так грязно
источник

k

kolay` in javascript_ru
Ооп грязная штука
источник