Size: a a a

Clojure — русскоговорящее сообщество

2020 July 03

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
в смысле, функция makeCounter и переменная currentCount в одном скоупе
с последующими вызовами.
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
окей, вы молодцы!
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
function makeCounter() {
 var currentCount = 1;

 return function() {
   return currentCount++;
 };
}

var counter = makeCounter();
var counter2 = makeCounter();

counter()
counter()
counter2()
counter2()
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
Vlad Lisovsky
function makeCounter() {
 var currentCount = 1;

 return function() {
   return currentCount++;
 };
}

var counter = makeCounter();
var counter2 = makeCounter();

counter()
counter()
counter2()
counter2()
В этом примере у переменной currentCount область видимости makeCounter, поэтому она при каждом вызове makeCounter как бы создается с 0 и только доступна в возвращаемой ф-и
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
function makeCounter() {
 var currentCount = 1;

 function counter1() {
   return currentCount++;
 }
 

 function counter2() {
   return currentCount++;
 }
 
 return [counter1, counter2]
}

var [counter1, counter2] = makeCounter();

counter1()
counter1()
counter2()
counter2()


можно еще так;

ладно, повторил тему случайно, спасибо за ответы!
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Вот, например, почитать, чтобы понимать лексический scope https://learn.javascript.ru/closures
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
Каков будет результат выполнения кода? Почему?

Answer - https://telegra.ph/Answer-06-27-2
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
Vlad Lisovsky
Каков будет результат выполнения кода? Почему?

Answer - https://telegra.ph/Answer-06-27-2
Вот тут я офигел от ответа, точно не знал
источник

((

(fun () -> ()) in Clojure — русскоговорящее сообщество
та js упоротый в плане точки с запятой
источник

((

(fun () -> ()) in Clojure — русскоговорящее сообщество
где-то можно ставить, а где-то нет
источник

((

(fun () -> ()) in Clojure — русскоговорящее сообщество
просто ставлю везде, что б не было подобной фигни
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
у меня сейчас на текущем проекте в файле .prettierrc.json
стоит:
"semi": false,
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
То есть, точек с запятой нету совсем;

но вот есть такие случаи (как тут с IIFE), когда без них неверно код парсится (ни как ожидаешь)
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Это не js упоротый, а хипстеры упоролись
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Хотя то, что он им так дал сделать — это проёб
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Но умиляет, что кактус продолжают жрать
источник

S

Special K in Clojure — русскоговорящее сообщество
Эх щас бы писать код на самовызывающихся функциях а потом ныть что нога простреляна
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Vlad Lisovsky
То есть, точек с запятой нету совсем;

но вот есть такие случаи (как тут с IIFE), когда без них неверно код парсится (ни как ожидаешь)
Уже не помню, кто первый придумал этот странный стиль.
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Special K
Эх щас бы писать код на самовызывающихся функциях а потом ныть что нога простреляна
Ну уж нет, просто не стоит пользоваться не очень удачными возможностями синтаксиса.
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
А если пользуешься — то нужно знать как.
источник