Size: a a a

2021 September 16

SM

Sergey Montashevich in RubyRush.ru
?
источник

В

Владислав in RubyRush.ru
    <script>
     hi()

     function hi() {
       console.log("Hello!");
     }

     hi();
   </script>
источник

🌑

🌑 in RubyRush.ru
о, говорю же работает :)
источник

Э

Эдем in RubyRush.ru
А, ну я только стрелочные использую
источник

Э

Эдем in RubyRush.ru
Чаще всего парсер построчно разбирает код
источник

SM

Sergey Montashevich in RubyRush.ru
JavaScript is an interpreted language: the interpreter runs and executes the program sequentially, therefore, functions have to be defined before they're called
источник

SM

Sergey Montashevich in RubyRush.ru
норм) ну пхп и жс не удивительно как бы)
источник

В

Владислав in RubyRush.ru
ну я выше обратное привел
источник

В

Владислав in RubyRush.ru
источник

SM

Sergey Montashevich in RubyRush.ru
вот, и спрашивать не надо было) вот вопрос зачем остается открытым как бы
источник

Э

Эдем in RubyRush.ru
Ага, про магию пишут

https://stackoverflow.com/q/261599/10608621
источник

В

Владислав in RubyRush.ru
вроде в пыхе тоже в 2 этапа условно, сначала парсит, потом выполняет
источник

Э

Эдем in RubyRush.ru
В Руби тоже синтаксический анализ проводится, но методы не загружаются в память
источник

M

Michael in RubyRush.ru
Это тот же самый variable hoisting как для var переменных (чем имя функции и является).

У этого есть свои плюсы, типа упрощения ментальной модели (и компилятора) — ты знаешь всегда что scope твоей функции это просто родительский скоуп и не думаешь от какой до какой строчки у тебя какие функции из скоупа видны.

Но по большому счету это дело привычки. Насколько я понял серьезных преимуществ никакой вариант не дает.

https://stackoverflow.com/questions/63337235/what-are-the-benefits-and-drawbacks-of-variable-hoisting-in-programming-language

Вот тут глубокие пояснения для питона:

https://discuss.python.org/t/why-does-python-have-variable-hoisting-like-javascript/4944
источник

В

Владислав in RubyRush.ru
понял, спасибо.

Вот еще
https://developer.mozilla.org/ru/docs/Glossary/Hoisting
если кому интересно что такое hoisting
источник

В

Владислав in RubyRush.ru
насколько усложняет это разработку?)

не представляю ситуацию, когда для решения какой то задачи, потребуется выполнять методы до их объявления.
источник

В

Влад in RubyRush.ru
Подскажите, как правильно эту часть записать, чтобы сравнение работало
источник

ВА

Виктор Архипов... in RubyRush.ru
пардон если не угадаю, но у вас нет опечатки в нижнем подчёркивании? creat_time
источник

В

Влад in RubyRush.ru
о, опечатку заметил, но дело не в ней
источник

В

Владислав in RubyRush.ru
интерполяцию сделать?
источник